3

ここに画像の説明を入力してください

こんにちは、アラートダイアログでこの外観を実現したいのですが、どうすればよいかわかりません。透明なアラートダイアログをAndroidで表示する方法は知っていますが、半透明であるための手がかりが見つかりません。どうやって始めたらいいのか、意見やガイドを残してください。本当にありがとう!

更新:申し訳ありませんが、実際には通常のアラートダイアログの代わりにアラートダイアログテーマでxmlを使用していることを含めるのを忘れました。

4

3 に答える 3

6

基になるアクティビティを暗くしないで確認するには:

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

ダイアログの背景を半透明にするには、背景色をアルファ<255に設定する必要があります(ColorAPIを参照)。

于 2012-11-14T09:15:57.250 に答える
3

カスタムダイアログを作成して、スタイルを参照できます。

 final Dialog dialog = new Dialog(context,R.style.cust_dialog);

次に、dialog_style.xmlという名前のvaluesフォルダーにxmlを作成します。

 <?xml version="1.0" encoding="utf-8"?>

<resources>   
   <style name="cust_dialog"> 
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowBackground">@color/transparent_color</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:colorBackgroundCacheHint">@null</item> 
    <item name="android:textSize">30dp</item>
   <item name="android:gravity">left</item>
  </style>
</resources> 

また、color.xmlを作成します。

 <?xml version="1.0" encoding="utf-8"?>
 <resources>   
     <color name="transparent_color">#00000000</color>
  </resources> 

これにより、半透明のダイアログボックスが表示されます。

必要に応じて半透明を制御できます。

お役に立てば幸いです。

于 2012-11-14T09:36:44.283 に答える
0

この行を追加します。

 dialog.setBackgroundColor(Color.argb(0,0,0,0);
于 2012-11-14T10:42:39.023 に答える