Настройка макета виджетов Android

1

В моем приложении у меня есть настраиваемый диалог, макет которого выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"
    android:scrollbars = "vertical"
    android:scrollbarAlwaysDrawVerticalTrack = "true"    
    android:padding="10dp" >
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
         android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" >
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="blablabla...."/>
        <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:src="@drawable/book1"/>       
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
         android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" >
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="blablablablablablablablabla..."/>
        <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:src="@drawable/book2"/>       
    </LinearLayout>

</LinearLayout>
</ScrollView>

То есть, я показываю список из двух горизонтально размещенных виджетов: TextView, показывающий некоторый текст, а рядом с текстом - виджет ImageView, показывающий изображение.

Я бы хотел сделать, чтобы показать виджеты ImageView таким образом, чтобы они были выровнены, то есть изображение 1 начиналось с того же столбца изображения 2.

Как я могу это сделать? Спасибо!

Теги:
android-layout
android-widget

1 ответ

0
Лучший ответ

Я не совсем уверен, на что вы надеетесь, но я бы сделал следующее:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbars="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="blablabla...." />

        <ImageView
            android:id="@+id/image1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_alignParentRight="true"
            android:src="@drawable/book1" />



        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/image1"
            android:text="blablablablablablablablabla..." />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_below="@+id/image1"
            android:layout_alignParentRight="true"
            android:src="@drawable/book2" />

    </RelativeLayout>

</ScrollView>

Я изменил его на относительный макет и использовал некоторые атрибуты, такие как android: layout_below и android: layout_alignParentRight = "true, чтобы получить эти изменения. Надеюсь, это поможет.

  • 0
    Отлично, спасибо! Вы знаете, как добавить разделитель между первыми двумя виджетами и вторыми двумя?
  • 0
    Нет, я не. Моя единственная мысль - добавить другое изображение для использования в качестве разделителя. Это имеет свои недостатки, хотя, потому что вы используете другой ресурс, который увеличивает размер файла. Кроме того, вы не сможете добиться желаемого вида.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню