(画面全体を占める)フラグメント上にダイアログを作成する必要があります。ダイアログは、フラグメントがフラグメントの外側で暗くなった状態でフラグメントの上に配置されるフローティングダイアログである必要があります。
カスタムダイアログの場合、カーブしたエッジを持つlinearLayoutがあります。何をしても、ダイアログにはすべての側面に黒い境界線があります(非常に小さい)。私はそれを透明にし、消えるようにあらゆることを試みました(そのため、ダイアログのすべてが単なる直線レイアウト-曲線ボックスになるように)
DialogFragmentの場合、これはonCreateViewに必要なものです
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
LinearLayout layout =(LinearLayout)inflater.inflate(R.layout.custom_dialog, null);
LinearLayout item = (LinearLayout)layout.findViewById(R.id.display_item);
populateItemData(item, inflater);
return layout;
}
custom_dialogは、android:backgroungが#000000に設定された単なるLinearLayoutです
これはカスタムダイアログの私のスタイルです
<style name="CustomDialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:alwaysDrawnWithCache">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
(オンラインで見たものから)このスタイルであらゆる種類の組み合わせを試しましたが、迷惑な黒い境界線を取り除くことができません.LinearLayoutの背景を以外の値に設定すると、白または他の色にペイントできます#000000 ...
私はこれに文字通り3〜4時間費やしました。他の誰かが手伝ってくれることを願っています...