私の Android プロジェクトでは、xml コードでダイアログの背景を設定すると (ダイアログはレイアウトに xml ファイルを使用します)、背景画像に合わせてダイアログ ウィンドウのサイズが大きくなります。
ウィンドウサイズが大きくならないように設定するにはどうすればよいですか。ダイアログに表示されない背景部分を無視するだけです。画像のアンカーは中央でも左上でも構いません。
誰もこれを行う方法を知っていますか?
ありがとう。
私の Android プロジェクトでは、xml コードでダイアログの背景を設定すると (ダイアログはレイアウトに xml ファイルを使用します)、背景画像に合わせてダイアログ ウィンドウのサイズが大きくなります。
ウィンドウサイズが大きくならないように設定するにはどうすればよいですか。ダイアログに表示されない背景部分を無視するだけです。画像のアンカーは中央でも左上でも構いません。
誰もこれを行う方法を知っていますか?
ありがとう。
xml で設定している場合は、次のように、幅と高さを一定量に設定するだけです。
android:layout_width="100dp"
android:layout_height="50dp"
または、さらに良いことに、さまざまなレイアウトで調整できるように寸法を使用します。または、以下のように手動で設定することもできます。
これは、この回答でRam kiranが使用した気の利いた小さなアルゴリズムです
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setTitle("Title");
alertDialog = builder.create();
alertDialog.show();
alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.
私は解決策を見つけました。ここを参照してください:Androidでダイアログの背景を縮小(またはトリミング)します
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:src="@drawable/back_dialog"
android:scaleType="fitXY"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignTop="@+id/dialog_layout_main"
android:layout_alignBottom="@id/dialog_layout_main"
android:layout_alignLeft="@id/dialog_layout_main"
android:layout_alignRight="@id/dialog_layout_main" />
<LinearLayout
android:id="@+id/dialog_layout_main"
android:layout_width="match_parent"
android:layout_height="wrap_content">
.........
</LinearLayout>
</RelativeLayout>
親レイアウトの静的なレイアウトの幅と高さを設定するか、ImageView に対して設定します。match_parent、wrap_content、または fill_parent (非推奨) を設定すると、ダイアログが ImageView に展開されます。