在EditText中,我在EditText的右侧放了一张图片, 我使用FrameLayout添加一个textview,显示Edittext的剩余输入计数(如p1所示)。
但是当输入太长时,它会覆盖textview,为了避免这种情况,我想使用android:paddingRight来保持输入字符保持不变,但结果就像p2
如何使可绘制图标保持在右侧,只输入输入字符,如p3? 谢谢。
答案 0 :(得分:1)
你应该使用RelativeLayout而不是在LinearLayout中的文本之后附加按钮。
Android RelativeLayouts的资源位于:http://developer.android.com/guide/topics/ui/layout/relative.html
那篇文章值得一读
但总的原则是你可以定义如下内容:
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/times" />
注意上面的layout_below
和layout_toLeftOf
,它们定义了与其他对象相关的定位
答案 1 :(得分:1)
使用ImageSpan 在EditView中添加图片而不是在布局中设置
答案 2 :(得分:1)
这应该是另一个例子,使用RelativeLayout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_centerHorizontal="true"
android:paddingRight="30dp"
/>
<ImageView android:layout_width="20dp" android:layout_height="20dp"
android:src="@drawable/your_image"
android:layout_alignParentRight="true" android:layout_centerHorizontal="true"
/>
</RelativeLayout>