实现在AutoCompleteTextView(EditText)的框内嵌入label和button的效果
我在做登陆框的时候,想要做出让label和button嵌在EditText中的效果。
很简单,在写布局的时候父容器的布局方向为Horizontal,让label和AutoCompleteTextView两者left对齐,button和AutoCompleteTextView两者的right对齐,然后可以分别设置各自的margin,使他们位置能够匹配得更好。
这样带来的新的问题:如果让用户在texiview中输入内容的时候,文字不会跑到button或者label后面去?很简单,只要设置textview的padding就行了~
(当然 一般的EditText也可以~出来的效果就和QQ android的一样咯~
)
图中有真相:

代码说明,style是自己定义的长宽style,用android:layout_width和android:layout_height做是一模一样的。。。。
<RelativeLayout android:id="@+id/userNameContent" android:orientation="horizontal" android:layout_width="260dip" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="20dip"><AutoCompleteTextView android:id="@+id/username" style="@style/widthFillLayout" android:singleLine="true" android:layout_alignParentRight="true" android:paddingLeft="47dip" android:paddingRight="38dip"/><TextView style="@style/bothWrapLayout" android:layout_alignLeft="@id/username" android:layout_marginLeft="8dip" android:text="@string/username" android:textColor="@color/label_in_textview" android:layout_centerVertical="true" android:textAppearance="?android:attr/textAppearanceMedium" /><ImageButton android:id="@+id/down" android:src="@drawable/down" android:layout_height="30dip" android:layout_width="30dip" android:background="@color/transparent" android:layout_alignRight="@id/username" android:layout_marginRight="8dip" android:layout_centerInParent="true" /></RelativeLayout>
1 楼 andyjackson 2010-08-14 你为什么这么引用 2 楼 zhc0822 2010-08-14 楼主利用简简单单的几句代码就实现了困扰我好久的效果。
感慨楼主解决问题的思路,真是化繁为简,佩服。 3 楼 yangjiantong 2011-12-04 楼主,有点没看明白,如果我现在qq登陆那种效果,请问下那个点击ImageButton 后,下面弹出的提示内容是放在哪呢?