[英]How to center Textview inside Listview using RelativeLayout?
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,R.layout.activity_haltestellen, R.id.tvHaltestellen, HaltestellenListe);
lvH.setAdapter(arrayAdapter);
這是設置和.xml的方式:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/lvHaltestellen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>
<TextView
android:id="@+id/tvHaltestellen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
/>
我從數據庫中獲取StringArray。 那么如何將電視置於listview內部? 真的不好
我不太確定要做什么,但是如果要在RelativeLayout
居中放置TextView
,請刪除
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
從電視上嘗試添加android:layout_centarInParent="true"
,然后在相對布局中將match_parent
更改為wrap_contents
嘗試添加此代碼: android:layout_centerInParent="true"
<TextView
android:id="@+id/tvHaltestellen"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
您可以將TextView
錨定到ListView
的頂部和底部(也可以根據需要的效果左右固定)。 這將使TextView
同樣高(並可以選擇變寬),因此請使用中心重力將文本放置在中間。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/lvHaltestellen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/tvHaltestellen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/lvHaltestellen"
android:layout_alignBottom="@+id/lvHaltestellen"
android:layout_alignLeft="@+id/lvHaltestellen"
android:layout_alignRight="@+id/lvHaltestellen"
android:gravity="center" />
</RelativeLayout>
如果您打算將背景色添加到TextView
,則需要將其包裝在另一個透明容器(例如FrameLayout
)中,以避免該顏色遮蓋列表中顯示的內容。 就像是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/lvHaltestellen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/lvHaltestellen"
android:layout_alignLeft="@+id/lvHaltestellen"
android:layout_alignRight="@+id/lvHaltestellen"
android:layout_alignTop="@+id/lvHaltestellen" >
<TextView
android:id="@+id/tvHaltestellen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/black" />
</FrameLayout>
</RelativeLayout>
另外,如果您決定使ListView
填滿RelativeLayout
的整個高度,則不再需要將TextView
錨定到列表。 正如@ user1796624所指出的,您可以然后居中放置TextView
。
根據您之前對他人答案的評論:
文本視圖顯示在列表視圖中。
我知道您在這里說的是什么,但請務必意識到TextView
不在 ListView
,而是浮動在它之上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.