Не в состоянии видеть взгляды на экране - PullRequest
0 голосов
/ 19 августа 2011

Мой экран входа в систему выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/login_layout" 
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:background="#ffffff">

<include 
android:id="@+id/headerlayout" 
layout="@layout/headerview"
android:layout_height="50dip" 
android:layout_width="fill_parent" />

<ImageView 
android:id="@+id/imgIcon" 
android:src="@drawable/icon"
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />

<TextView
android:id="@+id/txtUserName"
android:layout_width="fill_parent"
android:layout_height="80dip"
android:lines="1"
android:textColor="#000000"
android:textStyle="bold"
android:textSize="16dip"
android:text="User Name"/>
</LinearLayout>  

Однако я не могу видеть ImageView и TextView. Только заголовок виден и белый макет под ним. Почему это так?

Спасибо
Камень

Ответы [ 2 ]

1 голос
/ 19 августа 2011

просто добавьте

android:orientation="vertical"

в вашем <LinearLayout> теге.

Edit: По умолчанию ориентация установлена ​​на Горизонтальный, что означает, что каждый компонент будет добавлен по горизонтали, поскольку вы используете "fill_parent" для заголовка, поэтому он охватывает все место (ширину) и не оставляет места для появления других компонентов. Поэтому при добавлении по вертикали все компоненты располагаются вертикально. Таким образом, для размещения компонентов достаточно места. Подробнее здесь

0 голосов
/ 19 августа 2011

Bydefault LinearLayout выравнивает все дочерние элементы в одном направлении по горизонтали (если вы не указали android: ориентация).

Итак, в вашем случае это было добавление видов по горизонтали. Ваша часть заголовка заняла всю ширину экрана (как вы указали android:layout_width="fill_parent" в теге include), и для этого TextView и ImageView не осталось места.

Вам просто нужно добавить тег ориентации в LinearLayout и установить его значение по вертикали. т.е. android:orientation="vertical".

LinearLayout из Android Docs говорит

LinearLayout выравнивает все дочерние элементы в одном направлении - по вертикали или по горизонтали, в зависимости от того, как вы определяете атрибут ориентации. Все дочерние элементы располагаются один за другим, поэтому в вертикальном списке будет только один дочерний элемент на строку, независимо от его ширины, а горизонтальный список будет иметь высоту только в одну строку (высота самого высокого дочернего элемента плюс отступ). LinearLayout учитывает поля между дочерними элементами и гравитацией (правое, центральное или левое выравнивание) каждого дочернего элемента.

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