Добавление ImageView в XML-файл приводит к неожиданной остановке программы - PullRequest
0 голосов
/ 17 января 2012

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

Код, который я сейчас использую в main.xml, который вылетает:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/cartoonclouds"
android:contentDescription="@string/desc" >
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
</LinearLayout>
</ImageView>

Однако, когда ImageView удален и xmlns перемещен в LinearLayout, он работает нормально (без, конечно, изображения).

Я не вижу связанных ошибок в LogCat.

Дополнительная информация:

Использование Eclipse и Android 2.2, API 8. Программа запускается, но сразу падает.

Ответы [ 2 ]

0 голосов
/ 17 января 2012

Вы не можете ничего положить в ImageView. Это не макет. Используйте атрибут background LinearLayout, чтобы установить фон для вашего изображения.

Другим вариантом будет завернуть все в RelativeLayout. Разделите ImageView и LinearLayout. Изображение заполнит RelativeLayout, а LinearLayout будет поверх него.

Пример:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/cartoonclouds"
    android:contentDescription="@string/desc" />
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/hello" />
  </LinearLayout>
</RelativeLayout>
0 голосов
/ 17 января 2012

Не следует добавлять линейный макет внутри изображения.Имейте линейное расположение наверху как корень и затем добавьте представление изображения там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...