この素敵なダイアログビューがあります。UserInputDialogクラスを次のように設定します。
<LinearLayout Android:id="@+id/LinearLayout01"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<TextView
Android:id="@+id/nameMessage"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="What is your name Captain?"
>
</TextView>
<EditText
Android:id="@+id/nameEditText"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textSize="18sp"
>
</EditText>
<LinearLayout Android:id="@+id/LinearLayout02" Android:layout_width="fill_parent" Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal">
<Button
Android:id="@+id/okButton"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="OK">
</Button>
<Button Android:id="@+id/cancelButton"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Cancel">
</Button>
</LinearLayout>
</LinearLayout>
ダイアログを表示したいが、背景がフェードアウトしないようにしたい。これは可能ですか?このダイアログを呼び出すビューには、ダイアログの背景として表示したいニートな背景があります。
私はこれをオンラインで見つけました:
<style name="doNotDim" parent="@Android:style/Theme.Dialog">
<item name="Android:backgroundDimAmount">0</item>
</style >
それを私のダイアログにどのように適用するかわかりませんか? public class UserInputDialog extends Dialog implements OnClickListener
というクラスがあります。コンテンツビューを上記のレイアウトに設定します。
私はこれを正しく行っていると思いますが、そのスタイルを追加する方法がわからないので、背景をフェードできません。
2番目の質問:テーマを使用して、ダイアログの外観を新しくすることはできますか(テキストや画像をアイコンで表示するなど)。
Res/values/styles.xmlファイルを作成し、これに追加します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.DoNotDim" parent="Android:Theme">
<item name="Android:backgroundDimEnabled">false</item>
</style>
</resources>
そして、あなたの活動にテーマを適用します。
<activity Android:name=".SampleActivity" Android:theme="@style/Theme.DoNotDim">
次のコードを使用して、薄暗い効果を削除することもできます。
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
カスタムスタイルを作成し、valuesフォルダーに配置します
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YourCustomStyle" parent="Android:Theme">
<item name="Android:backgroundDimEnabled">false</item>
</style>
</resources>
使用できる個々のダイアログにスタイルを設定するには
Dialog dialog = new Dialog(context, R.style.YourCustomStyle);
TrueCallerのようなダイアログを表示するには、次のようにします。
styles.xml
ファイル。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="myBackgroundStyle" parent="Android:Theme.Dialog">
<item name="Android:backgroundDimEnabled">false</item>
</style>
</resources>
AndroidManifest.xml
これを行う:
<activity Android:name=".SampleActivity" Android:theme="@style/myBackgroundStyle">