DialogFragmentを使用していて、layout_widthとminWidthを固定して強制的に多くの制約をかけても、LinearLayoutのlayout_width = match_parentを作成すると幅が常にフルスクリーンになります親ビューの、又はCREATEVIEWのレイアウトdimens設定()DialogFragmentのサイズ(幅)が無視されました
dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/dialog_width"
android:layout_height="@dimen/dialog_height"
android:minWidth="@dimen/dialog_width"
android:minHeight="@dimen/dialog_height"
android:orientation="vertical"
android:paddingTop="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
</LinearLayout>
</LinearLayout>
Dialog.java
public class MyDialog extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
Resources r = getActivity().getResources();
getDialog().getWindow().setLayout((int)r.getDimension(R.dimen.dialog_width), (int)r.getDimension(R.dimen.dialog_height));
return view;
}
}
O私はこの仕事をすることができますNLY方法は大丈夫動作しますが、ダイアログの他の部分のためのいくつかの結果を持っていdialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
... >
<LinearLayout
android:layout_width="@dimen/dialog_width"
android:layout_height="wrap_content">
...
</LinearLayout>
...
</LinearLayout>
をハッキングDIMEN/dialog_width
@」のLinearLayout layout_width =インナーを設定することです。 これはAndroidのバグですか?
使用RelativeLayoutにすべてのものを置く代わりに、リニア – Sameer