我的布局XML文件和充气文件后手机上显示的布局完全不同。出于某种原因,当在ListView
中膨胀视图时,许多元素会垂直居中;确切地说,它们层叠在一起。我已经确认这是由于Adapter
代码而不是布局本身;如果我创建一个新的Activity
并使用setContentView
,则视图将显示为应该显示(因为它出现在XML预览中)。
对不起,如果我的措辞很差,我发高烧,不能直接思考(也许这就是为什么我无法解决这个问题)。
截图(一些用于保存公司隐私的photoshopping):
XML预览:
它实际上是什么样的:
适配器代码:
public class CustomAdapter extends BaseAdapter
{
private Item item;
private Activity context;
public CustomAdapter(Item item, Activity context)
{
this.item = item;
this.context = context;
}
public int getCount()
{
return 1;
}
public Object getItem(int position)
{
return item;
}
public long getItemId(int arg0)
{
return -1;
}
public View getView(int position, View convertView, ViewGroup parent)
{
View v = convertView;
if (v == null)
{
LayoutInflater vi;
vi = LayoutInflater.from(context.getApplicationContext());
v = vi.inflate(R.layout.main_layout, null);
}
return v;
}
}
XML来源:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="320dp"
android:background="#FFFFFF" >
<RelativeLayout
android:id="@+id/middleThing"
android:layout_width="25dp"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#FFFFFF" >
<ImageView
android:id="@+id/topRightIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="50dp"
android:maxHeight="25dp"
android:maxWidth="25dp"
android:src="@drawable/arrow_e" />
<ImageView
android:id="@+id/bottomRightIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="20dp"
android:maxHeight="25dp"
android:maxWidth="25dp"
android:src="@drawable/arrow_e" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/leftTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_toLeftOf="@id/middleThing"
android:background="#FFFFFF" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text=""
android:textColor="#000000"
android:textSize="16sp" >
</TextView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rightTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/middleThing"
android:background="#FFFFFF" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text=""
android:textColor="#000000"
android:textSize="16sp" >
</TextView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/leftCol"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@id/leftTitle"
android:layout_marginLeft="10dp"
android:layout_toLeftOf="@id/middleThing"
android:background="@drawable/background" >
<TextView
android:id="@+id/primaryText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="7dp"
android:layout_marginTop="10dp"
android:text=""
android:textColor="#000000"
android:textSize="12sp" >
</TextView>
<ImageView
android:id="@+id/primaryDisk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/primaryText"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/store" >
</ImageView>
<ImageView
android:id="@+id/snapshotDisk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/store" >
</ImageView>
<TextView
android:id="@+id/snapshotText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/snapshotDisk"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="7dp"
android:text=""
android:textColor="#000000"
android:textSize="12sp" >
</TextView>
<ImageView
android:id="@+id/deDisk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="15dp"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/store" >
</ImageView>
<ImageView
android:id="@+id/button_direct"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="25dp"
android:layout_marginRight="20dp"
android:layout_toLeftOf="@id/deDisk"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/arrow_direct" >
</ImageView>
<TextView
android:id="@+id/deText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/deDisk"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="7dp"
android:text=""
android:textColor="#000000"
android:textSize="12sp" >
</TextView>
<ImageView
android:id="@+id/top_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/snapshotText"
android:layout_below="@id/primaryDisk"
android:layout_centerHorizontal="true"
android:maxHeight="25dp"
android:maxWidth="25dp"
android:src="@drawable/arrow_s" >
</ImageView>
<ImageView
android:id="@+id/bottom_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/dedupText"
android:layout_below="@id/snapshotDisk"
android:layout_centerHorizontal="true"
android:maxHeight="25dp"
android:maxWidth="25dp"
android:src="@drawable/arrow_s" >
</ImageView>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_below="@id/rightTitle"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/middleThing"
android:background="@drawable/background" >
<TextView
android:id="@+id/mirrorText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="7dp"
android:layout_marginTop="10dp"
android:text=""
android:textColor="#000000"
android:textSize="12sp" >
</TextView>
<ImageView
android:id="@+id/miDisk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/mirrorText"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/store" >
</ImageView>
<ImageView
android:id="@+id/dedrDisk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="15dp"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:src="@drawable/store" >
</ImageView>
<TextView
android:id="@+id/dedrtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/dedrDisk"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginBottom="7dp"
android:text=""
android:textColor="#000000"
android:textSize="12sp" >
</TextView>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:1)
尝试inflate
的3参数版本给父母但传递false
以便它不会添加视图:
v = vi.inflate(R.layout.main_layout, parent, false);