Гибкое относительное расположение со списком и кнопкой изображения - PullRequest
2 голосов
/ 22 февраля 2011

Я хочу создать следующий вид макета в Android, теперь я создал ритуал с фиксированной высотой просмотра списка, что вызывает проблему с различными размерами экранов мобильных телефонов.

Первоначально, когда появляется этот экран, кнопка будет на нижней стороне только с пустым списком, а когда элементы будут добавлены в список, она будет расти, но кнопка останется устойчивой внизу.

до сих пор я написал следующий код

<?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"
    >


   <ImageView
    android:id="@+id/cText" 
    android:src="@drawable/c_text"
    android:visibility="visible"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="50dip"



   />
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"    
        android:drawSelectorOnTop="false"
        />
<ImageButton
        android:id="@+id/cBtn"
        android:layout_width="150dip"
        android:layout_height="52dip"
        android:src="@drawable/preview" 
        android:layout_alignParentTop="@+id/list"
        android:layout_gravity="center_horizontal"/>
</RelativeLayout>

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

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

  < ?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"
>

 <ImageButton
    android:id="@+id/cBtn"
    android:layout_centerHorizontal="true"
    android:layout_width="150dip"
    android:layout_height="52dip"
    android:src="@drawable/preview" 
    android:layout_alignParentBottom="true"
    />

<ListView
    android:id="@+id//listview01"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"    
    android:layout_above="@+id/cBtn"
    android:layout_marginBottom="10dip"
            />

< /RelativeLayout>
0 голосов
/ 22 февраля 2011

Вы можете добавить кнопку в качестве нижнего колонтитула в просмотр списка. Пример кода sinppet показан ниже

Шаг 1: Создать кнопку

  <Button android:id="@+id/footer"  android:gravity="center"
            android:layout_gravity="center"
            android:text="My Footer" 
            android:layout_width="wrap_content" 
            android:layout_height="0dp" android:layout_weight="1"/> 

Шаг 2: сделать его нижним колонтитулом для представления списка

ListView myList;
  View footerView;
    ViewGroup footerViewOriginal = (ViewGroup) findViewById(R.id.footer);
        footerView = inflater2.inflate(R.layout.footer,footerViewOriginal);
footerView.findViewById(R.id.footer);
myList.addFooterView(footerView, null, true);

Шаг 3: Создайте на ClickListener и напишите действие, которое вы хотите выполнить

footerView.findViewById(R.id.footer).setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
return false;

        }
...