我有以下问题。在作为列表项使用的布局中,RelativeLayout中有一个RelativeLayout。在Eclipse中的图形布局中,它看起来和预期的一样,但是,当我在一个真正的设备中调试时(这里是HTC VAndroid4.0.3),FrameLayout根本没有出现(但是它所占据的区域是可见的)。在适配器中,我不玩可见性,我只是在两种颜色之间改变背景色。
这是我的布局代码:
<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="130dp" >
<FrameLayout
android:id="@+id/entryType"
android:layout_width="15dp"
android:layout_height="match_parent"
android:background="@color/color_punch_in_darker"
android:gravity="center" >
</FrameLayout>
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="10dp"
android:layout_marginTop="3dp"
android:gravity="center"
android:singleLine="true"
android:textColor="@color/color_black"
android:textSize="21sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/clock"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginRight="5dp"
android:layout_marginTop="7dp"
android:layout_toLeftOf="@id/time"
android:src="@drawable/ic_clock" />
<TextView
android:id="@+id/company"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@id/clock"
android:layout_toRightOf="@id/entryType"
android:ellipsize="end"
android:gravity="left|top"
android:hint="@string/string_NA"
android:singleLine="true"
android:textColor="@color/color_grey_darker"
android:textSize="18sp" />
<TextView
android:id="@+id/project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/company"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/entryType"
android:ellipsize="end"
android:gravity="left|top"
android:hint="@string/string_NA"
android:singleLine="true"
android:textColor="@color/color_grey_darker"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/note"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_below="@id/project"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/entryType"
android:ellipsize="end"
android:gravity="left|top"
android:hint="@string/string_NA"
android:textColor="@color/color_grey_darker"
android:textSize="18sp"
android:textStyle="italic" />
</RelativeLayout>在我的适配器中,在我与用于更改颜色的布局交互的部分(我向您保证,这是我与R.id.entryType 视图交互的代码的唯一部分),我有以下代码:
if(entry.isInEntry())
viewHolder.entryType.setBackgroundColor(getContext().getResources().getColor(R.color.color_punch_in_darker));
else
viewHolder.entryType.setBackgroundColor(getContext().getResources().getColor(R.color.color_punch_out_darker));图形布局显示了以下内容,这是正确的

但是,当我调试时,会出现以下情况(箭头和边框显示颜色应该出现的区域,但只有宽度显示为)。

非常感谢,因为我不知道我还能查到什么。
发布于 2014-03-07 02:10:56
将前台属性用于FrameLayout (没有子属性)而不是背景,或者将视图(fill_parent)添加到FrameLayout或将FrameLayout的paddingLeft设置为15 as (与宽度相同)
FrameLayout将自己度量为0,除非它有理由给自己提供维度。布局宽度/高度仍然保留着空间,但它没有子绘制,背景是颜色(因此它是无量纲的)
发布于 2014-03-10 23:17:40
尝试layout_alignParentLeft="true",为Framelayout的测试添加一些空白,然后有相应的文本框。
https://stackoverflow.com/questions/22238531
复制相似问题