前段工作时,遇到一个布局困惑:有两个控件,上面是一个imageview,显示一个图片,现在是一个textview,显示一句话。这里两个控件要无缝上下布局,呈现出来的就是pop dialog的样子。所以需要上下两个控件左右对齐。
上面的控件是个imageview,那么这个pop的长度实际上是由下面的textview中内容的长度来决定的。所以需要第一个控件与第二个控件左右对齐才行。
大家尝试的时候会发现,如果是按照这个顺序,将imageview放在上面,而textview放在下面,imageview设置为于textview左右对齐是错误的。因为在对齐的时候,下面的控件还未定义,属于不可知的。
所以我采用的方法如下,让textview所在的布局位于imageview的下面,如果设置imageview在textview的上面是行不通的,大家可以试试看:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/noButton"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:background="@android:color/transparent" >
<TextView
android:id="@+id/alert_content_full"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/tcl_toast_text"
android:background="@drawable/tcl_alert_content_rec"
android:layout_below="@+id/alert_title_full"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="11111111111111222222222222222222222222223333333333333333333"/>
<ImageView
android:id="@+id/alert_title_full"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="50dip"
android:layout_alignLeft="@+id/alert_content_full"
android:layout_alignRight="@+id/alert_content_full"
android:background="@drawable/tcl_alert_title"
>
</ImageView>
</RelativeLayout>