我希望listview的高度应该随设备高度而变化。
文本和按钮位于顶部,listview位于中央,媒体播放器按钮位于底部。
这应该是一件非常容易的事情,但它看起来很复杂。 我的layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<EditText
android:id="@+id/searchText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />
<Button
android:id="@+id/searchButton2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/search" />
<ListView
android:id="@+id/searchResult"
android:layout_width="fill_parent"
android:layout_height="306dp" >
</ListView>
<LinearLayout
android:id="@+id/timeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/init_time"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/playerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/prevButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/prev"
android:src="@drawable/ic_media_previous" />
<ImageButton
android:id="@+id/playButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/play"
android:src="@drawable/ic_media_play" />
<ImageButton
android:id="@+id/pauseButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/pause"
android:src="@drawable/ic_media_pause" />
<ImageButton
android:id="@+id/stopButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/stop"
android:src="@drawable/ic_media_stop" />
<ImageButton
android:id="@+id/nextButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/next"
android:src="@drawable/ic_media_next" />
</LinearLayout>
</LinearLayout>
我正在使用此代码:
searchText2 = (EditText) view.findViewById(R.id.searchText2);
searchButton2 = (Button) view.findViewById(R.id.searchButton2);
searchResult = (ListView) view.findViewById(R.id.searchResult);
playerLayout = (LinearLayout) view.findViewById(R.id.playerLayout);
timeLayout = (LinearLayout) view.findViewById(R.id.timeLayout);
// hide player now
playerLayout.setVisibility(View.GONE);
timeLayout.setVisibility(View.GONE);
searchResult.setAdapter(new ArrayAdapter<String>(view.getContext(), R.layout.resulttext, new ArrayList<String>()));
listview是他们的中心。如何更改listview的高度以适应设备的高度。谢谢
编辑:像这样修复;
<ListView
android:id="@+id/searchResult"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="10" >
<LinearLayout
android:id="@+id/playerLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="horizontal" >
感谢@MatusSeidl
答案 0 :(得分:0)
to listView add;
android:layout_height="0dp"
android:layout_weight="10"
和带按钮的LinearLayout,添加;
android:layout_height="0dp"
android:layout_weight="1"