カスタムDialog(2)
「AndroidロボットはGoogleが作成したもので、私たちが共有している作品をコピーまたは修正するために使用され、Creative Commons 3.0の著者マークライセンスの条項と条件に従って使用されます.」
前の記事で紹介したDialog Custom法はDialogを簡略化した.
カスタマイズできますが、致命的な欠点がある場合は、
つまり、ボイラーボードのコードが乱発します.
もちろん、モジュール化して再使用することは、あまり問題になりません.
使いやすい機能をいくつか提供しています.
それがセミコロンです.
使い方は簡単です.
DialogFragment()を引き継ぐFragmentを作ればいい
まずDialogにレイアウトを作ってあげましょう
onViewCreatedに打てば、それは気持ちの問題です.
きれいなゴーグル効果が確認できます.
上にリンクされているGoogleの公式ドキュメントで見ることができます.
API Level 28(Android 9)からDepecadeされる.
しかし、今後のAndroid Xパッケージに含まれ、その使用に影響を与えることはありません.
その後、削除または更新された部分が見つかった場合.
その時になってから書こう
個人学習をベースに書いているからです.
情報が正しくない可能性があります.
知っていたら後で修正します
いつでもフィードバックを歓迎します.
読んでくれてありがとう.
Dialog Custom 2番目
前の記事で紹介したDialog Custom法はDialogを簡略化した.
カスタマイズできますが、致命的な欠点がある場合は、
つまり、ボイラーボードのコードが乱発します.
もちろん、モジュール化して再使用することは、あまり問題になりません.
使いやすい機能をいくつか提供しています.
それがセミコロンです.
DialogFragment
使い方は簡単です.
DialogFragment()を引き継ぐFragmentを作ればいい
まずDialogにレイアウトを作ってあげましょう
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".DialogSampleFragment"
android:gravity="center"
android:orientation="vertical"
android:padding = "20dp">
<LinearLayout
android:layout_width="200dp"
android:layout_height="300dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id = "@+id/tv_dialog"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="1"/>
<Button
android:id = "@+id/btn_dialogClose"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button"
android:background="@drawable/ripple_mask" />
</LinearLayout>
</LinearLayout>
class DialogSampleFragment : DialogFragment() {
private lateinit var binding : FragmentDialogSampleBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//isCancelable = false
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
binding = FragmentDialogSampleBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Toast.makeText(view.context, "Text", Toast.LENGTH_SHORT).show()
binding.tvDialog.text = "it's Dialog Fragment Sample"
binding.btnDialogClose.setOnClickListener {
dismiss()
}
}
}
ライフサイクルで書けばいいです.onViewCreatedに打てば、それは気持ちの問題です.
きれいなゴーグル効果が確認できます.
でもDeprentedに...
上にリンクされているGoogleの公式ドキュメントで見ることができます.
API Level 28(Android 9)からDepecadeされる.
しかし、今後のAndroid Xパッケージに含まれ、その使用に影響を与えることはありません.
その後、削除または更新された部分が見つかった場合.
その時になってから書こう
個人学習をベースに書いているからです.
情報が正しくない可能性があります.
知っていたら後で修正します
いつでもフィードバックを歓迎します.
読んでくれてありがとう.
Reference
この問題について(カスタムDialog(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@jeep_chief_14/Dialog를-Custom하는-방법2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol