首先讓我嘗試在這裏嘗試完成我想要完成的工作。用戶界面佈局問題
的EditText
的EditText搜索按鈕
的ListView(搜索結果。只能有一個,的ListView帶適配器和WRAP_CONTENT的高度似乎對這項工作,有一個按鈕將結果添加到下面的ListView中,一旦添加按鈕被點擊,這個ListView會崩潰,這正是我所追求的)
的TextView(標籤添加的對象)
的ListView(對象列表中所增加,再次我使用列表行佈局適配器)
SaveButton
我正想粘貼我擁有的代碼,但是有太多可以通過的代碼。我遇到的問題是與ListViews。基本上,包含添加對象的ListView最終會將屏幕上的SaveButton關閉。我已經嘗試了大量的解決方案,並在其他許多網站上安排,但他們似乎並沒有正確的工作。
基本上,我希望SaveButton始終位於底部,我不希望它在ListView變得太大時被推離屏幕。我發現「工作」的唯一解決方案是明確設置ListView的高度。但是,這會導致從平板電腦到手機的問題(Nexus7 & Galaxy S3)。我認爲使用dip尺寸可以防止這種情況發生,但顯然不會。
如果任何人有一個很好的策略來創建這種類型的佈局將是偉大的。或者甚至是學習如何使用Android笨重的UI系統的好資源(它真的有點不盡人意)。
編輯:這是我在使用的RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/main_background"
android:orientation="vertical" >
<EditText
android:id="@+id/plan_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:ems="10"
android:hint="@string/plan_name_hint"
android:textColor="@color/text_color" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/object_search_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/plan_name"
android:ems="10"
android:hint="@string/search_objects_text"
android:textColor="@color/text_color" >
</EditText>
<Button
android:id="@+id/objects_search_button"
style="@style/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/object_search_text"
android:layout_below="@id/plan_name"
android:layout_alignParentRight="true"
android:background="@drawable/black_button"
android:text="@string/search_objects_button_label" />
<ListView
android:id="@+id/search_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/object_search_text"
android:background="@color/main_background"
android:textColor="@color/text_color" >
</ListView>
<TextView
android:id="@+id/objects_list_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/search_result"
android:paddingBottom="8dip"
android:paddingLeft="8dip"
android:text="@string/plan_objects_list_label"
android:textColor="@color/text_color"
android:textSize="22sp"
android:textStyle="bold" />
<ListView
android:id="@+id/plan_objects"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/objects_list_label"
android:background="@color/main_background"
android:textColor="@color/text_color" >
</ListView>
<Button
android:id="@+id/save_plan_button"
style="@style/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/black_button"
android:paddingLeft="8dip"
android:text="@string/save_button_label" />
如果您想要保留一個LinearLayout,另一種方法是將'layout_weight'設置爲您想展開/收縮以適應屏幕的任何ListView。 – Geobits
當彈出鍵盤時,會使所有內容都縮小的Geobit。 – ryoung
這使應用程序崩潰:CastException:android.widget.Button不能轉換爲android.widget.ListView – ryoung