を使用しDialogFragment
て中央から移動し、画面上の任意の場所に配置することは可能ですか?
4346 次
3 に答える
8
使用できます
getDialog().getWindow().setAttributes(param);
の
onCreateView()
このような
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
getDialog().getWindow().setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP);
WindowManager.LayoutParams param = getDialog().getWindow().getAttributes();
param.width = LayoutParams.MATCH_PARENT;
param.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
param.x = 100;
param.y = 100;
.
.
getDialog().getWindow().setAttributes(p);
.
.
}
于 2013-05-22T10:30:33.120 に答える
5
私は使用して成功しました
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.gravity = Gravity.TOP | Gravity.RIGHT;
lp.x = 100;
lp.y = 100;
window.setAttributes(lp);
私のダイアログを右上隅から少し下に置きます。このコードは にありonCreateDialog()
ます。
于 2013-05-22T10:30:16.900 に答える
1
プログラムによるすべてのソリューションを試しても、結果が得られずに苦労しました。最後に、Java クラス内に余分なコードを追加せずに XML ファイルから実行しました。
私がやったのは、親の高さを作り、それに値をmatch_parent
設定することだけですgravity
center
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
<!--The following two lines-->
android:layout_height="match_parent"
android:gravity=“center"
android:orientation="vertical">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:background="@android:color/white"
android:gravity="center"
android:padding="10dp"
android:text="@string/hide"
android:textColor="@android:color/holo_blue_dark" />
<Button
android:id="@+id/button_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:background="@android:color/white"
android:gravity="center"
android:padding="10dp"
android:text="@string/cancel"
android:textColor="@android:color/holo_blue_dark" />
于 2015-05-06T15:15:54.333 に答える