我有以下图层列表
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF000000"/>
<stroke android:width="0dp" android:color="#FF000000" />
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
</item>
</layer-list>
此资源是黑色背景,带有一些圆角边框(左上角和右上角)。我想把它作为背景属性放在LinearLayout中,在LinearLayour里面我想放一个白色的Textview和一个ImageView。我有以下代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll"
android:orientation="horizontal"
android:background="@drawable/profile_background_head_item">
<TextView
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/origin"
android:gravity="center"
android:textSize="20sp"
android:textColor="#FFFFFFFF"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_config"/>
</LinearLayout>
问题是ImageView没有显示,我认为这是由于我的图层列表代码,但我不知道如何解决它。
有什么想法吗?
由于
答案 0 :(得分:2)
您的TextView的宽度为match_parent
,并且在水平的LinearLayout中,会将ImageView推到屏幕外。
我建议使用重量,尝试:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll"
android:orientation="horizontal"
android:background="@drawable/profile_background_head_item">
<TextView
android:id="@+id/txt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/origin"
android:gravity="center"
android:textSize="20sp"
android:textColor="#FFFFFFFF"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_config"/>
</LinearLayout>
这应该让TextView占用ImageView离开的其余水平空间。