'android:paddingRight'使用'android:drawableRight'

时间:2012-07-04 08:20:09

标签: android android-edittext padding

在EditText中,我在EditText的右侧放了一张图片, 我使用FrameLayout添加一个textview,显示Edittext的剩余输入计数(如p1所示)。 p1

但是当输入太长时,它会覆盖textview,为了避免这种情况,我想使用android:paddingRight来保持输入字符保持不变,但结果就像p2 p2

如何使可绘制图标保持在右侧,只输入输入字符,如p3?enter image description here 谢谢。

3 个答案:

答案 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_belowlayout_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>