DialogFragments
のスタイルを作成したいのですが、DialogFragments
には適用されません。DialogFragmentのXMLのスタイルプロパティが適用されていません
サイズは100dp
に決して変更されません。ご覧のとおり、私はandroid:width
とlayout_width
の両方を使用しましたが、これらのどちらも何もしません。
パディングも適用されません。
背景R.drawable.popup_rounded_frame
は角が丸い四角形のちょうどshape
です。
ほとんどの場合動作しますが、背景は私のレイアウトの他のRelativeLayouts'
の背景にも適用されます。しかし、それは実際には現在の背景を削除し、あなたが望むものに置き換えたgetDialog().getWindow().setBackgroundDrawableResource(R.drawable.popup_rounded_frame);
のようには動作しません。
この<item name="android:background">@drawable/popup_rounded_frame</item>
は、現在の背景の上にのみ背景を設定します。私DialogFragmentため
スタイルは
<style name="ArionDialogFragment" parent="Theme.AppCompat.Dialog">
<item name="android:width">100dp</item>
<item name="android:height">100dp</item>
<item name="android:layout_width">100dp</item>
<item name="android:layout_height">100dp</item>
<item name="android:padding">16dp</item>
<item name="android:background">@drawable/popup_rounded_frame</item>
</style>
これは私のDialogFragmentが
この
popuptest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PopUP popUP = new PopUP();
popUP.setStyle(DialogFragment.STYLE_NO_FRAME, R.style.ArionDialogFragment);
popUP.show(getSupportFragmentManager(),"d");
}
});
を起動する方法ですが
public class PopUP extends DialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.popup_connectsensor,container,false);
return v;
}
DialogFragmentを拡張
PopUp
です
これは次のようになります。https://www.dropbox.com/s/8iy5b5t8ax293oo/Screenshot_20160913-123922.png?dl=0
'setStyle(...)'コードをPopupクラスの 'onCreate()'メソッドの中に入れてみましょう。 @Override public void onCreate(...){ super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NO_FRAME、R.style.ArionDialogFragment); } ' – nicopasso
@nicopasso背景は適用されますが、幅/高さは適用されません。 – Muddz
@nicopasso PopUPのクラスでこれらの比率をすべて作成してから、すべて動作します。 – Muddz