我想在包含2个或3个列表项的Listview上方显示“STATS”一词。我希望ListView位于屏幕的底部边缘,剩下的空间由“STATS”TextView填充,文本垂直和水平居中。基本上一个单词在剩下的空间的正中间漂浮着。
我无法在“拖放”布局编辑器中执行此操作,因为它在ListView中显示了8个占位符项,因此我无法正确捕捉事物的边缘。
我有ListView我想要它,但“STATS”导致问题。
我尝试过各种各样的事情(显然除了正确的事情)。这是我目前打破的布局......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="uk.co.xxxxxxxxxxx.xxxxxxx.MainActivity"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="bottom"
>
<TextView
android:id="@+id/tv_reboot_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textStyle="bold"
android:textAlignment="center"
android:text="@string/stats"
/>
<ListView
android:id="@+id/lv_app_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/reboot_screen_items"
android:layout_gravity="center_horizontal|center_vertical"
/>
</LinearLayout>
我确信这样做是微不足道的,但它让我发疯了。
答案 0 :(得分:1)
试试这个,效果很好
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_reboot_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textStyle="bold"
android:textAlignment="center"
android:text="STATE"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center" />
<ListView
android:id="@+id/lv_app_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/reboot_screen_items"
android:layout_gravity="bottom" />
</LinearLayout>
结果
答案 1 :(得分:1)
使用gravity
和layout_gravity
属性。
答案 2 :(得分:0)
你能试试吗?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="uk.co.xxxxxxxxxxx.xxxxxxx.MainActivity"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/tv_reboot_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="30sp"
android:textStyle="bold"
android:textAlignment="center"
android:gravity="center"
android:text="STATS"
android:layout_above="@+id/lv_app_info"
/>
<ListView
android:id="@+id/lv_app_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/values"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
/>
</RelativeLayout>
您可以使用RelativeLayout
填充剩余空间以显示TextView
。