некоторая проблема с RelativeLayout в моем приложении - PullRequest
0 голосов
/ 30 января 2012

Мое приложение содержит ListView и TextView.Я хочу расположить TextView ниже ListView.Я пробовал с кодом ниже, но TextView исчез.

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

 <ListView android:id="@+id/android:list" 
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" /> 

 <TextView  
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:layout_below="@+id/android:list"
  android:text="@string/hello"
 />
</RelativeLayout>

Спасибо.

Ответы [ 6 ]

3 голосов
/ 30 января 2012

Попробуйте заменить ваш XML на этот

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

 <ListView android:id="@+id/android:list" 
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_weight="1" /> 

 <TextView  
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:layout_below="@+id/android:list"
  android:text="@string/hello"
 />
</LinearLayout>

Вы не хотите использовать относительную компоновку вообще.Если вам это нужно, просто замените LinearLayout на него.

2 голосов
/ 30 января 2012

Попробуйте LinearLayout, как показано ниже. Я думаю, что это произведет то, что вы после. Этот макет всегда помещает TextView под списком внизу представления.

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

<ListView android:id="@+id/android:list" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1" /> 

<TextView  
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:text="@string/hello"
  />
</LinearLayout>
1 голос
/ 30 января 2012

Попробуйте этот код

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
>  
<ListView android:id="@+id/android:list" 
 android:layout_height="match_parent"  
 android:gravity="center"
 android:cacheColorHint="#ffffffff" 
 android:layout_width="match_parent" 
 android:layout_above="@+id/add_workout_all_workout_list"></ListView>

<TextView android:layout_width="wrap_content"      
 android:id="@+id/add_workout_all_workout_list" android:layout_height="wrap_content" 
 android:text="textView" android:layout_alignParentBottom="true"  
 android:layout_alignParentLeft="true"/>

</RelativeLayout>  
0 голосов
/ 30 января 2012

Если вы настаиваете на использовании RelativeLayout, сделайте следующее:

  1. В вашем xml объявите сначала свой TextView перед вашим ListView (объявления обмена) - порядок важен при использовании RelativeLayout
  2. В вашем TextView установите android: layout_alignParentBottom = "true"
  3. В вашем ListView вставьте android: layout_above = "@ android / your_text_views_id_here"
  4. Удалить все остальные свойства позиционирования.

Должно работать.

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

U может разместить Textview под списком просмотра двумя способами.

  1. Возьмите Относительный макет и зафиксируйте высоту списка и место текстовое представление под ним.
  2. Возьми LinearLayout и приведи вес в горизонтальная ориентация.

Надеюсь, ты понимаешь, что я говорю.

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

Вы использовали fill_parent для ширины и высоты списка, как показано ниже. Так что он займет весь экран. Так что текстовое представление невидимо. Пожалуйста, измените его на фиксированную высоту в соответствии с разрешением вашего устройства.

<ListView android:id="@+id/android:list" 
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" /> 

Замените fill_parent на 100px или другое в строке ниже и попробуйте один раз

  android:layout_height="fill_parent" /> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...