Saya ingin membuat tata letak baris daftar. Tata letak ini memiliki imageview di paling kiri, textview tepat di sebelah imageview, dan imageview di paling kanan. Saya ingin semuanya vertikal tengah.
<RelativeLayout
android:layout_width="fill_parent" android:layout_height="100dp"
android:gravity="center_vertical"
>
<ImageView
android:id="@+id/icon"
android:layout_width="50dp" android:layout_height="50dp"
android:layout_gravity="center_vertical" />
<TextView
android:id="@+id/func_text" android:layout_toRightOf="@id/icon"
android:layout_width="wrap_content" android:layout_height="100dp"
android:layout_gravity="center_vertical" />
<ImageView
android:layout_width="50dp" android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_gravity="center_vertical"
android:src="@drawable/arrow" />
</RelativeLayout>
Saya juga mencoba menambahkan android:layout_centerVertical="true"
ke textview, tetapi hasilnya textview sejajar dengan dua imageview. Saya mencoba ini di emulator Android 4.2. Ada yang bisa membantu saya tentang ini?
android
center
android-relativelayout
pengguna2368561
sumber
sumber
Jika View's height / width = wrap_content
menggunakan:
android:layout_centerHorizontal="true" android:layout_centerVertical="true"
Jika View's height / width = match_parent
menggunakan:
android:gravity="center_vertical|center_horizontal"
sumber
Coba menyelaraskan atas dan bawah tampilan teks ke salah satu ikon, ini akan membuat tampilan teks berbagi sama tingginya dengan mereka, kemudian menetapkan
gravity
untukcenter_vertical
membuat teks di dalam tampilan teks pusat vertikal.<TextView android:id="@+id/func_text" android:layout_toRightOf="@id/icon" android:layout_alignTop="@id/icon" android:layout_alignBottom="@id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" />
sumber
Bagi saya, saya harus menghapus
<item name="android:gravity">center_vertical</item>
dari RelativeLayout , sehingga konfigurasi anak-anak akan berfungsi:
<item name="android:layout_centerVertical">true</item>
sumber
Ini bekerja untuk saya.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rell_main_bg" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#096d74" > <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:src="@drawable/img_logo_large" android:contentDescription="@null" /> </RelativeLayout>
sumber
Ini mungkin karena tampilan teks terlalu tinggi. Ubah android: layout_height dari textview menjadi wrap_content atau gunakan
android:gravity="center_vertical"
sumber
Menambahkan keduanya
android:layout_centerInParent
danandroid:layout_centerVertical
bekerja untuk saya untukImageView
menengahkan vertikal dan horizontal:<ImageView .. android:layout_centerInParent="true" android:layout_centerVertical="true" />
sumber
<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_centerInParent="true" android:layout_gravity="center_vertical" android:layout_marginTop="@dimen/main_spacing_extra_big" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/noto_kufi_regular" android:text="@string/renew_license_municipality" android:textColor="@color/sixth_text" android:textSize="@dimen/main_text" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/noto_kufi_regular" android:text="@{RenewLicenseBasicInfoFragmentVM.tvMunicipality}" android:textColor="@color/sixth_text" android:textSize="@dimen/main_text" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_centerInParent="true" android:layout_gravity="center_vertical" android:layout_marginTop="@dimen/main_spacing_extra_big" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" android:fontFamily="@font/noto_kufi_regular" android:text="@string/renew_license_license_number" android:textColor="@color/sixth_text" android:textSize="@dimen/main_text" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" android:fontFamily="@font/noto_kufi_regular" android:text="@{RenewLicenseBasicInfoFragmentVM.tvLicenseNum}" android:textColor="@color/sixth_text" android:textSize="@dimen/main_text" /> </LinearLayout>`enter code here` </RelativeLayout>
sumber
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginHorizontal="5dp" android:layout_marginBottom="5dp" android:background="@drawable/default_button"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:layout_marginStart="15dp" android:src="@drawable/google" /> <Button android:id="@+id/btnGmailLogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" android:paddingHorizontal="15dp" android:text="@string/gmail_login_button_text" android:textAllCaps="false" android:textColor="@color/black" /> </RelativeLayout>
sumber