ここに私が欲しいものがあります:
iOSではこれはとても簡単ですが、Androidでは不可能のようです。何があっても、テキストボックスを画面の中央に配置したい。画像を追加すると、テキスト ボックスが中央揃えになっていて画像が中央揃えになっていない場合でも、テキスト ボックスがずれます。アイコンを中央揃えにしたいのですが、同じレイアウトでないと難しいようです。それらをすべて同じ相対レイアウトに配置する必要がありますか?
重みを使用してすべてに適切な高さの寸法を与えるためにメイン レイアウトを線形レイアウトとして使用し、個々の相対レイアウトまたは線形レイアウトを重み付けします。これは受け入れられたパターンですか?
アイコン textViews および textEdits の 1 つの例を次に示します。
<RelativeLayout
android:id="@+id/passwordRelativeLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="83"
android:gravity="center">
<ImageView
android:id="@+id/passwordImageView"
android:layout_width="40dp"
android:layout_height="40dp"
android:adjustViewBounds="true"
android:contentDescription="@string/email_ph"
android:gravity="center_horizontal"
android:src="@mipmap/lock_icon"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/passwordTextView" />
<TextView
android:id="@+id/passwordTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/passwordEditText"
android:labelFor="@+id/passwordEditText"
android:text="@string/password"
android:textColor="@color/white"
android:textSize="24sp" />
<EditText
android:id="@+id/passwordEditText"
android:layout_width="500dp"
android:layout_height="45dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/passwordTextView"
android:layout_gravity="center_horizontal"
android:background="@mipmap/text_box_background"
android:gravity="center"
android:inputType="textPassword" />
</RelativeLayout>\
これには余白の設定はありませんが、今のところ、ピクセルの完璧なセンタリング設定を取得することに関心があります.