前段工作时,遇到一个布局困惑:有两个控件,上面是一个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>