Изображение не отображается в пользовательском интерфейсе

StackOverflow https://stackoverflow.com/questions/5843892

  •  27-10-2019
  •  | 
  •  

Вопрос

У меня есть изображение в 3 папках Res/Draitable-HDPI/MDPI/LDPI 600*600 в качестве разрешения), и у меня есть этот XML-файл, чтобы показать текст и изображение:

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  <ImageView android:id="@+id/connected" android:src="@drawable/connected" android:layout_below="@id/sipLabel" 
  android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="0.35" android:gravity="center" 
         />
        </LinearLayout>

Что может BR проблема? Спасибо за помощь.

Это было полезно?

Решение

Основной проблемой является ваш первый тег в LinearLayout:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />

С layout_height установлен на fill_parent Этот TextView заполняет линейный размер вертикально, не оставляя места для изображения. Попробуйте измениться layout_height к wrap_content.

Кроме того, пара других вещей:

  • Вы используете android:layout_below="@id/sipLabel", но это работает только в RelativeLayout. Так что этот атрибут молча игнорируется.
  • Пока вы можете выбрать любой layout_weight ты хочешь, 0.35 довольно произвольный. Поскольку это единственный ребенок в Linearlayout с весом, он получит все дополнительное вертикальное пространство.
  • Вам не нужно включать xmlns:android="http://schemas.android.com/apk/res/android" на вашем теге TextView.

Другие советы

Я думаю layout_below Применяется только к RelatiVelayouts. Также это layout_weight="0.35" Похоже, я не думаю, что это означает, что вы думаете, что это значит. Я думаю, что это должно иметь целочисленную ценность.

С тех пор, как ты TextView имеет высоту fill-parent, и LinearLayout не прокрутка (если не помещен в ScrollView Вы не можете видеть нижние детали), ваш TextView занимает весь экран деятельности и ImageView Быть под этим не видно.

Так что вы можете либо

  • Поместите все свое LinearLayout в аScrollView, и прокрутите вниз, чтобы увидеть ваше изображение, или
  • Если ваша цель состоит в том, чтобы показать изображение внизу экрана, и все место над ним следует воспринимать TextView, тогда лучший вариант будет лучшим вариантом.

Обновлять
работа RelativeLayout Духуция будет

<?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">
    <TextView android:id="@+id/sipLabel" android:text="@string/loremipsum1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />
    <ImageView android:id="@+id/connected" android:src="@drawable/connected"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_below="@id/sipLabel" android:layout_alignParentBottom="true" />
</RelativeLayout>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top