Android xml布局行为异常
我正在设计一个自定义listview,它包含许多子视图。因为有两个子视图的行为异常Android xml布局行为异常,android,Android,我正在设计一个自定义listview,它包含许多子视图。因为有两个子视图的行为异常 若“圈数”值是个位数,那个么视图将移到左侧 我一直希望“zodia或stone”图像图标始终为“zodia或stone”文本视图值的3dip左边距,以便值和图像与3dip并排显示。但左边距不起作用,因此我设置为右边距 list_row.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<LinearLayout
android:id="@+id/list_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="5dip"
android:background="@drawable/image_bg"
android:padding="3dip" >
<ImageView
android:id="@+id/list_image"
android:layout_width="85dip"
android:layout_height="80dip"
android:scaleType="fitXY"
android:shadowColor="#585858"
android:shadowDx="0.0"
android:shadowDy="0.0"
android:shadowRadius="20"
android:src="@drawable/karthik" />
</LinearLayout>
<ImageView
android:id="@+id/ImageView02"
android:layout_width="15dip"
android:layout_height="15dip"
android:layout_alignLeft="@+id/list_row"
android:layout_below="@+id/list_row"
android:contentDescription="Zodiac icon"
android:scaleType="fitXY"
android:shadowColor="#8B4513"
android:src="@drawable/rings_icon"
android:layout_marginRight="0dip"/>
<TextView
android:id="@+id/title_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/list_row"
android:layout_toRightOf="@+id/list_row"
android:text="KARTHIK.KOLANJI"
android:textColor="#181818"
android:textSize="16dip"
android:textStyle="bold"
android:typeface="sans" />
<TextView
android:id="@+id/sub_title_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="5dip"
android:gravity="right"
android:text="Facebook Friend"
android:textColor="#10bcc9"
android:textSize="12dip"
android:textStyle="bold" />
<TextView
android:id="@+id/TextView04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtview_turns"
android:layout_below="@+id/txtview_turns"
android:text=" days left"
android:textColor="#996600"
android:textSize="9sp"
android:textStyle="bold"
android:layout_marginTop="2dip"/>
<TextView
android:id="@+id/list_image_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/sub_title_category"
android:layout_below="@+id/title_name"
android:text="t u r n s"
android:textColor="#996600"
android:textSize="9sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtview_turns"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/list_image_arrow"
android:layout_below="@+id/list_image_arrow"
android:text="24"
android:textColor="#990000"
android:textSize="27sp"
android:textStyle="normal" />
<TextView
android:id="@+id/txtview_next_bd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/TextView01"
android:layout_alignBottom="@+id/TextView01"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/TextView01"
android:text="Wednesday"
android:textColor="#CC0000"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtview_zodiac"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/TextView02"
android:layout_alignBottom="@+id/TextView02"
android:layout_toRightOf="@+id/TextView02"
android:text="Sagittarius"
android:textColor="#CC0000"
android:textSize="15sp"
android:textStyle="normal"
/>
<TextView
android:id="@+id/txtview_type_of_reminder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageView02"
android:layout_toRightOf="@+id/ImageView02"
android:text="(Anniversary)"
android:textColor="#787878"
android:textSize="13sp"
android:textStyle="normal" />
<ImageView
android:id="@+id/ImageView01"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_above="@+id/txtview_next_bd"
android:layout_toLeftOf="@+id/TextView04"
android:contentDescription="Zodiac icon"
android:scaleType="fitXY"
android:shadowColor="#8B4513"
android:shadowDx="0.0"
android:shadowDy="0.0"
android:shadowRadius="20"
android:src="@drawable/scroll"
android:layout_marginRight="50dip"/>
<TextView
android:id="@+id/sub_title_contact_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/title_name"
android:layout_alignTop="@+id/list_image_arrow"
android:text="9594080469"
android:textColor="#181818"
android:textSize="15dip" />
<TextView
android:id="@+id/sub_title_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtview_turns"
android:layout_alignBottom="@+id/txtview_turns"
android:layout_alignLeft="@+id/sub_title_contact_number"
android:text="7th, April 1990"
android:textColor="#181818"
android:textSize="15dip" />
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/sub_title_birthdate"
android:layout_below="@+id/txtview_turns"
android:text="Zodiac : "
android:textColor="#181818"
android:textSize="15sp"
android:textStyle="normal" />
<TextView
android:id="@+id/txtview_days_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtview_type_of_reminder"
android:layout_alignBottom="@+id/txtview_type_of_reminder"
android:layout_alignRight="@+id/TextView04"
android:text="36"
android:textColor="#990000"
android:textSize="27sp"
android:textStyle="normal" />
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtview_type_of_reminder"
android:layout_alignBottom="@+id/txtview_type_of_reminder"
android:layout_alignLeft="@+id/TextView02"
android:text="Birthday on : "
android:textColor="#181818"
android:textSize="15sp"
android:textStyle="normal" />
</RelativeLayout>
以下是我是否可以建议
线性布局
而不是相对布局
?
我发现,RelativeLayout
会给很多孩子带来不可靠的结果。(尤其是以编程方式添加内容时)请尝试以下方法:
LinearLayout
<内容主体的容器方向。垂直
LinearLayout
Orientation.HORIZONTAL
对于每一行内容,将其放在第二行LinearLayout
中,并使其成为第一行的子行
我怀疑您的问题会很快消失。如果我改为线性布局,那么我的整个布局都会受到干扰,因为我使用RelativeLayout属性的每个地方有时都很糟糕,但我们必须提高工作效率,为应用程序做最好的事情,即使这意味着重写大量代码。我相信您可以找到一种使用
RelativeLayout
的方法,但是由于您是动态添加内容的,并且您在内容被生成的内容替换时遇到问题,因此我真的认为使用LinearLayout
会更好。这取决于你,可能需要一个小时,但如果你的代码更好,这真的是一种牺牲吗?是的,我理解,但你所说的“动态”是什么意思。这是一个拖放视图,不是由java代码编写的。从屏幕截图上看,它看起来像是要动态添加那些生日提醒。无论是从数据库还是从web API中提取,都必须使用java来填充“列表行”。还有其他方法吗??