Сбой макета Android: строка # 10 двоичного XML-файла должна содержать ширину макета - PullRequest
0 голосов
/ 13 июля 2011

Я в тупике, я уже вывел его в этот раздел слияния большего макета ( edit спасибо, да, строка № 10 была довольно очевидной, текстовое представление в строке 10 явно необходимоширина и высота, но не было сбоев с использованием только textview, который существует далее в коде, который я вставил в строку # 10)

<merge xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/frameLayoutLatest">
<LinearLayout android:id="@+id/subLinLayoutHeader" android:orientation="horizontal" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <ImageView android:src="@drawable/layouttriangle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"></ImageView>
</LinearLayout>
<TableLayout android:id="@+id/subLinLayout" android:layout_below="@id/subLinLayoutHeader" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    <TableRow  android:layout_width="wrap_content" android:layout_height="wrap_content">
        <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical">
            <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content">
                <!-- list view goes here -->
                <TextView android:layout_gravity="center_vertical|center_horizontal" android:text="Dummy text" android:textColor="#ffffff" android:textSize="16dip"></TextView>
            </ScrollView>
        </LinearLayout>
    </TableRow>
    <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content">
        <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
            <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
                <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content">
                <TextView android:layout_gravity="center_vertical|center_horizontal" android:text="Latest Articles" android:textColor="#ffffff" android:textSize="16dip"></TextView>
                </TableRow>
        </TableLayout>
        <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content">
         <!--  list view goes here -->
        </ScrollView>
        </LinearLayout>

</TableRow>
</TableLayout>

Где Уолдо?

Ответы [ 3 ]

3 голосов
/ 13 июля 2011

В строке 10, конечно :) Ваш код не предоставляет layout_height или layout_width для TextView. Оба требуются для каждого элемента xml.

Это ваш код:

<TextView
android:layout_gravity="center_vertical|center_horizontal"
android:text="Dummy text"
android:textColor="#ffffff"
android:textSize="16dip">
</TextView>

Попробуйте вместо этого (или используйте match_parent вместо wrap_content)

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:text="Dummy text"
android:textColor="#ffffff"
android:textSize="16dip">
</TextView>

РЕДАКТИРОВАТЬ, чтобы объяснить поведение второго TextView

Ну, сегодня я узнал что-то новое. Согласно документации TableRow,

The children of a TableRow do not need to specify the layout_width
and layout_height attributes in the XML file. TableRow always enforces
those values to be respectively MATCH_PARENT and WRAP_CONTENT.

Вот почему он не выдал ошибку.

2 голосов
/ 13 июля 2011

Для вашего TextView в ScrollView в строке 10 этого файла требуются атрибуты layout_height и layout_width, чтобы система знала размеры, которые вы хотели бы видеть в TextView. Если вы не уверены, с чего начать, просто скопируйте два атрибута из ScrollView, который его содержит.

1 голос
/ 13 июля 2011

Не достаточно ли ясно сообщение об ошибке? Что-то не хватает ширины макета (два TextView), ваша проблема, вероятно, будет исправлена, если вы исправите это.

...