我想知道为什么我要完成的工作不起作用
相对布局代码:
<?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="wrap_content"
android:background="#649760"
android:layout_marginRight="30dp">
<ImageView
android:layout_width="200dp"
android:layout_height="50dp"
android:background="#000000"/>
</RelativeLayout>
它如何在Android工作室预览中看起来:
注意绿色的白色。
我还添加了list_view.xml以删除分隔符并控制背景颜色
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="0dp"
android:divider="@null"
android:background="#ffffff">
</ListView>
但我得到的东西(从我的手机上截屏)是绿色捕获所有剩余的宽度。
顺便说一句,我通过给list_view.xml填充来解决它,但我无法使用这样的解决方案,因为我在列表中有多个视图而且并非所有视图都应该获得这种边距
任何帮助将不胜感激,并将得到赞扬( - :
答案 0 :(得分:3)
当您查看文档时,ListView的行使用AbsListView.LayoutParams
:
http://developer.android.com/reference/android/widget/AbsListView.LayoutParams.html
您可以注意到它们不是任何可用的保证金。
因此,解决方法是在单元格顶部添加另一个View
,这应该可行:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#649760"
android:layout_marginRight="30dp">
<ImageView
android:layout_width="200dp"
android:layout_height="50dp"
android:background="#000000"/>
</RelativeLayout>
</LinearLayout>
另一种解决方法是在“rootView”右侧添加一个View:
<?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="wrap_content"
android:background="#649760">
<View
android:layout_width="30dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:background="@color/white"/>
<ImageView
android:layout_width="200dp"
android:layout_height="50dp"
android:background="#000000"/>
</RelativeLayout>
我知道这不是最好的表现,但这是我找到的唯一解决方法。