我是 Android 的新手,所以这可能是一个愚蠢的问题,但它就在这里。
我有一个活动的相对布局。在这个布局中,我在屏幕底部有另一个布局。有时我将其隐藏或使其可见,这无关紧要。是否可以使另一个布局的高度占屏幕总高度的 27%?这个想法是保留其他内容,除了屏幕上的这个布局。
有没有人尝试过这样的事情?
LinearLayout
可以通过android:layout_weight
. 例如,这是一个包含三个Button
小部件的布局,分别占高度的 50%、30% 和 20%:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="50"
android:text="@string/fifty_percent"/>
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="30"
android:text="@string/thirty_percent"/>
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="20"
android:text="@string/twenty_percent"/>
</LinearLayout>
但是,您不能简单地声明布局文件中任意点的任意小部件应占据屏幕大小的任意百分比。不过,欢迎您在 Java 中执行该计算并LayoutParams
根据需要调整您的小部件。
你可以试试这个,更复杂但有用。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/parent_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name" />
<LinearLayout
android:id="@+id/parent_of_bottom_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentBottom="true" >
<LinearLayout
android:id="@+id/content_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="27">
//Add your content here
</LinearLayout>
</LinearLayout>