我有一个相对布局,有两个子相对布局:
第一个子布局包含两个文本视图,第二个子相对布局在第一个子相对布局下面。但是,当我设计所有看起来很好。在手机上渲染时,按钮不会与第二个子相对布局底部对齐。这是我的代码:
<RelativeLayout
android:id="@+id/relative_txt"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/relative_img"
android:layout_alignTop="@+id/relative_img"
android:layout_marginLeft="05dp"
android:layout_marginTop="15dp"
android:layout_toLeftOf="@+id/imageView1"
android:layout_toRightOf="@+id/relative_img" >
<RelativeLayout
android:id="@+id/relative_txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="Mike Anderson"
android:textColor="#ea2634"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="02dp"
android:text="My New Home"
android:textColor="#000000"
android:textSize="12sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_btn"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignLeft="@+id/relative_txt1"
android:layout_alignRight="@+id/relative_txt1"
android:layout_alignParentBottom="true"
android:layout_below="@+id/relative_txt1" >
<Button
android:id="@+id/button1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="04dp"
android:background="@drawable/icon_share" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_email" />
<Button
android:id="@+id/button2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/icon_call" />
</RelativeLayout>
</RelativeLayout>
如果有空格,我想要粘贴到底部的按钮向上移动并在第二个文本视图下方对齐。 什么提示我缺少什么?
这是我的完整列表视图行代码:
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativePrime"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/relative_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/relative_right" >
<View
android:id="@+id/leftView"
android:layout_width="05dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/relative_img"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#560978" />
<RelativeLayout
android:id="@+id/relative_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/icon_default"
android:contentDescription="@string/imageviewContactus" />
<TextView
android:id="@+id/dateText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView2"
android:layout_centerHorizontal="true"
android:text="TextView" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_txt"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/relative_img"
android:layout_alignTop="@+id/relative_img"
android:layout_marginLeft="05dp"
android:layout_marginTop="15dp"
android:layout_toLeftOf="@+id/imageView1"
android:layout_toRightOf="@+id/relative_img" >
<RelativeLayout
android:id="@+id/relative_txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="Mike Anderson"
android:textColor="#ea2634"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="02dp"
android:text="My New Home"
android:textColor="#000000"
android:textSize="12sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_btn"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignLeft="@+id/relative_txt1"
android:layout_alignRight="@+id/relative_txt1"
android:layout_alignParentBottom="true"
android:layout_below="@+id/relative_txt1" >
<Button
android:id="@+id/button1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="04dp"
android:background="@drawable/icon_share" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_email" />
<Button
android:id="@+id/button2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/icon_call" />
</RelativeLayout>
</RelativeLayout>
<ImageView
android:id="@+id/imageView1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/icon_pet_2x" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_right"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/relative_left"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</RelativeLayout>
</RelativeLayout>
渴望:
现状:
答案 0 :(得分:0)
您可以使用LinearLayout
和FrameLayout
进行此布局。你可以试试这个布局
<?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="match_parent"
android:baselineAligned="false"
android:orientation="horizontal" >
<View
android:id="@+id/leftView"
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="#560978" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingTop="8dp" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_default" />
<TextView
android:id="@+id/dateText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
android:paddingLeft="12dp"
android:paddingTop="8dp" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mike Anderson"
android:textColor="#ea2634"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="02dp"
android:text="My New Home"
android:textColor="#000000"
android:textSize="12sp"
android:textStyle="bold" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingBottom="16dp"
android:paddingTop="16dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="right|center_vertical"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_pet_2x" />
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:paddingTop="4dp" >
<Button
android:id="@+id/button1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="left|center_vertical"
android:background="@drawable/icon_share" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_email" />
<Button
android:id="@+id/button2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="right|center_vertical"
android:background="@drawable/icon_call" />
</FrameLayout>
</LinearLayout>
<!-- for right side's red portion -->
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/ic_launcher" />
</FrameLayout>
</LinearLayout>
答案 1 :(得分:0)
尝试这个..如果它可以根据您的要求改变高度。
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativePrime"
android:layout_width="fill_parent"
android:layout_height="100dp" >
<RelativeLayout
android:id="@+id/relative_left"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/relative_right" >
<View
android:id="@+id/leftView"
android:layout_width="05dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/relative_img"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#560978" />
<RelativeLayout
android:id="@+id/relative_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/ic_launcher"
android:contentDescription="@string/app_name" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_txt"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/relative_img"
android:layout_alignTop="@+id/relative_img"
android:layout_marginLeft="05dp"
android:layout_marginTop="15dp"
android:layout_toLeftOf="@+id/imageView1"
android:layout_toRightOf="@+id/relative_img" >
<RelativeLayout
android:id="@+id/relative_txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="Mike Anderson"
android:textColor="#ea2634"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="02dp"
android:text="My New Home"
android:textColor="#000000"
android:textSize="12sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
<ImageView
android:id="@+id/imageView1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_launcher" />
<RelativeLayout
android:id="@+id/relative_btn"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignTop="@+id/dateText"
android:layout_toLeftOf="@+id/imageView1"
android:layout_toRightOf="@+id/dateText" >
<Button
android:id="@+id/button1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="04dp"
android:background="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher" />
<Button
android:id="@+id/button2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher" />
</RelativeLayout>
<TextView
android:id="@+id/dateText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/relative_img"
android:layout_alignParentBottom="true"
android:text="TextView" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative_right"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/relative_left"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
</RelativeLayout>
</RelativeLayout>
答案 2 :(得分:0)
<RelativeLayout
android:id="@+id/relative_txt"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="05dp"
android:layout_marginTop="15dp" >
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Mike Anderson"
android:textColor="#ea2634"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView2"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="02dp"
android:text="My New Home"
android:textColor="#000000"
android:textSize="12sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/imageviewContactus"
android:src="@drawable/icon_email" />
<Button
android:id="@+id/button2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/icon_call" />
<Button
android:id="@+id/button1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/icon_share" />
</RelativeLayout>
我做了一些更改:
1-在相对布局的父标记中,我删除了android:layout_alignBottom
,android:layout_alignTop
,android:layout_toLeftOf
和android:layout_toRightOf
,因为您已经设置了宽度和高度match_parent
。
2-在textView2标记已删除android:layout_alignParentRight
,因为将其与android:layout_alignParentLeft
一起使用可以通过设置match_parent
3-在textView3中将android:layout_alignLeft
更改为带有android:layout_alignRight
的textView2,因为没有理由将左边的视图对齐并与父级对齐!!
4-在button1标签中删除了android:layout_alignTop标签,因为它引用了一个不在同一范围内的视图&#34;父相对布局&#34;所以这条线不起作用。
请进行这些更改并为结果制作屏幕截图。