我的列表视图设置为:
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
android:padding="5dp">
</ListView>
我根据xml文件加载项目:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/topbar"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_margin="0px"
android:orientation="horizontal"
android:padding="0dp" >
<TextView
android:id="@+id/place"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="0px"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:textSize="40sp" />
<LinearLayout
android:id="@+id/right"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="0px"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textSize="25sp" >
<TextView
android:id="@+id/score"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:gravity="center"
android:textAlignment="viewEnd"
android:textSize="25sp" />
<LinearLayout
android:id="@+id/bottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:textSize="25sp" >
<TextView
android:id="@+id/time"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12sp" />
<TextView
android:id="@+id/username"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
由于某种原因,行android:layout_height="200dp"
无效。无论我是写200dp还是20dp android都显示相同的项目高度。
我需要更改什么来获得我想要的物品高度?
答案 0 :(得分:1)
View
只有LayoutParam
,如果它在布局中。
在没有父布局的情况下给视图充气的那一刻,任何XML layout_
属性都会被忽略。
所以要回答这个问题,你必须用父母来扩充视图,如下所示:
public View getView (int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView =
LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_name, parent, false);
}
}
答案 1 :(得分:0)
您的LinearLayout
ID为 topbar 两个主要孩子,其中TextView
ID为地方,LinearLayout
为id 正确。您未在此子项上设置任何高度值。它们设置为wrap_content
。因此,他们将扩展内容。如果您的内容很短,则不会扩展到200dp。
layout_height
设置为
fill_parent
,layout_weight
上研究LinearLayout
用法。检查Linear Layout and weight in Android。