私のアプリには、から派生しActivity
て使用するカスタムダイアログがRelativeLayout
あり、すべての位置とプロパティはXMLファイルによって処理され、コードには含まれていません。レイアウトは希望どおりですが、ダイアログ内の一部の項目の長さのため、情報の一部の行が次の行に折り返されます。これらの場合、ダイアログの[閉じる]ボタンが誰かがその上に座っているように見えるという事実を除いて、これは問題ではありません。
これは、ボタンが正常であることを示すエミュレーターのスクリーンショットですが、ダイアログの右側に突き当たらないように、説明テキストの右側にパディングが必要です。
これを見て、私android:layout_marginRight="5dp"
は自分のマージンを取得することを期待してレイアウトファイルに追加しましたが、それはそう思われます-そして私は自分のラップを取得します-しかしボタンは正しくありません。説明が行を折り返しているため、ダイアログの高さは期待どおりに変更されていません。
これが私の完全なレイアウトXMLです。初めて使っRelativeLayout
たので、見落としているシンプルなものだといいのですが。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/achievement_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="7dp"
android:contentDescription="@string/achievement_icon" />
<TextView
android:id="@+id/achievement_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_toRightOf="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_gamerscore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_below="@+id/achievement_name"
android:layout_toRightOf="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginRight="5dp"
android:layout_alignLeft="@+id/achievement_icon"
android:layout_below="@+id/achievement_icon" />
<TextView
android:id="@+id/achievement_earned"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginRight="5dp"
android:layout_alignLeft="@+id/achievement_description"
android:layout_below="@+id/achievement_description" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_centerHorizontal="true"
android:text="@string/button_close"
android:layout_below="@+id/achievement_earned" />
</RelativeLayout>