Android layout — два относительных макета с похожими свойствами, но второй больше в строке

#java #android #xml #layout

#java #Android #xml #макет

Вопрос:

Это немного поставило меня в тупик, и я, похоже, не могу в этом разобраться.

Я создаю интерфейс чата с параллельными относительными макетами в пользовательском адаптере.

 <?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_weight="1" android:layout_height="wrap_content">
    <RelativeLayout android:id="@ id/relativeLayout1" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content">
        <TextView android:id="@ id/lefttext" android:text="TextView" android:layout_width="fill_parent" android:gravity="top" android:layout_height="wrap_content" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="5dip" android:layout_alignParentLeft="true"></TextView>
    </RelativeLayout>
    <RelativeLayout android:id="@ id/relativeLayout2" android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="wrap_content">
        <TextView android:id="@ id/righttext" android:layout_width="fill_parent" android:text="TextView" android:layout_height="wrap_content" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="5dip" android:layout_alignParentLeft="true" android:layout_alignParentTop="true"></TextView>
    </RelativeLayout>
</LinearLayout>
  

Теперь в режиме макета все выглядит так, как будто все было бы идеально. Но вот скриншот того, как это выглядит на моем устройстве:

![введите описание изображения здесь][1]

Макет слева увеличивает высоту так, как я хочу, но макет справа имеет большое пространство над ним .. Вот как я настраиваю фон ячейки и ресурсы

             if (wasMine == 0) 
            {
                lt.setText(Message);
                leftLayout.setBackgroundResource(R.drawable.speechbubblefrom);
                rightLayout.setBackgroundDrawable(null);
                rt.setText(""); 

            }
            else if (wasMine == 1)
            {
                rt.setText(Message);
                rightLayout.setBackgroundResource(R.drawable.speechbubbleto);
                leftLayout.setBackgroundDrawable(null);
                lt.setText("");
            }
  

Есть идеи?

Ответ №1:

Попробуйте удалить layout_alignParentTop справа TextView . Если это не так, являются ли ваши фоновые чертежи 9-исправлениями? Вы убедились, что ваш патч 9 правильно растянут?

Комментарии:

1. Вау, в итоге получилось изображение с 9 исправлениями. Спасибо!

2. Отлично. Они мощные, но могут привести к головокружению, если вы не будете осторожны.