Выравнивание центра относительно других - PullRequest
1 голос
/ 29 июля 2011

Таким образом, можно совместить верхнюю, нижнюю, левую и правую стороны одного вида с другим, чтобы их края были на одном уровне друг с другом.Однако мне было интересно, можно ли выровнять центры двух видов разных размеров.Моя ситуация возникает, когда у меня есть ImageView рядом с TextView, например: [ImageView] [TextView].ImageView немного выше, чем TextView, и поэтому я добавляю отступы / поля в конец TextView, чтобы выровнять его и выглядеть как горизонтальные центры ImageView и TextView.Проблема в том, что когда этот вид отображается на больших экранах планшетов, отступы и поля не работают правильно, а TextView не выглядит выровненным с ImageView.Я уверен, что есть простое решение, позволяющее этому всегда работать, так может кто-нибудь дать мне некоторые идеи?Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Используйте weightSum вместо отступов в dips или px, что сделает ваш макет хорошо выглядящим независимо от размера устройства пользователя.

или вы также можете использовать гравитацию.

ИлиВы можете создать второй XML-файл и вставить его в свой файл res / xlarge, телефон выберет, какой XML-файл читать.

0 голосов
/ 29 июля 2011

Вот как я это сделал для строки списка:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#FFFFFF"
  android:padding="5dp"
  android:gravity="center_vertical">
  <TextView android:id="@+id/questionItemTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="20sp"
    android:textColor="#000000"
    android:gravity="center_vertical"/>
  <ImageView android:id="@+id/questionViewed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/eye"
    android:layout_marginLeft="5dp" />
  <ImageView android:id="@+id/questionAnswered"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/check"
    android:layout_marginLeft="5dp" />
</LinearLayout>
...