'android:paddingRight' 與 'android:drawableRight' 一起使用 (’android:paddingRight’ working with ‘android:drawableRight’)


問題描述

'android:paddingRight' 與 'android:drawableRight' 一起使用 (’android:paddingRight’ working with ‘android:drawableRight’)

In a EditText,I put a pic in the Rightside of the EditText, and I use FrameLayout to add a textview showing the remain input count of the Edittext(as show in p1).

But when the input is too long,it will overlay with the textview,to avoid this,I want use android:paddingRight to keep the input characters stay left,but the result is like p2

how to make the drawable icon stay at right and just the input characters ,like p3? Thank you.

‑‑‑‑‑

參考解法

方法 1:

You should use a RelativeLayout instead of appending the button after the text in a LinearLayout.

The resources for Android RelativeLayouts can be found at: http://developer.android.com/guide/topics/ui/layout/relative.html

That article is well worth a read

But the general principal is that you can define things like:

<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" />

Note layout_below and layout_toLeftOf above, which define the positioning in relation to other objects

方法 2:

use ImageSpan  for adding Image in EditView instead of Setting in Layout

方法 3:

This should be an alternative example, with 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>

(by topxebecbiddulph.rρяσѕρєя KStefano Ortisi)

參考文件

  1. ’android:paddingRight’ working with ‘android:drawableRight’ (CC BY‑SA 3.0/4.0)

#padding #Android #android-edittext






相關問題

'android:paddingRight' 與 'android:drawableRight' 一起使用 (’android:paddingRight’ working with ‘android:drawableRight’)

雙行導航欄 - 是什麼原因造成的? (double row navigation bar- what's causing it?)

在 Twitter 引導程序中為行添加背景顏色和填充 (Adding background color and padding to row in Twitter bootstrap)

如何控制 addView 到佈局 (How to control addView to a layout)

Ці можа выкарыстанне працэнтаў для вышыні запаўнення/поля/межы быць лепшым, чым em? (Can using percentages for height of padding/margin/border be better than em?)

填充對絕對定位的下拉菜單有意想不到的影響 (Padding has unexpected effect on drop down menu with absolute postioning)

內部 div 相對於包裝器具有不需要的空間 (Inner div has unwanted space in relation to wrapper)

css @font-face 不會在所有瀏覽器中垂直對齊文本 (css @font-face doesn't align text vertically across all browsers)

填充佔用了額外空間,我希望我的 div 像引導 div 一樣 (padding is taking up extraspaces,i want my div's to act like bootstrap div's)

Android -- 使用帶有自定義背景的 ListView 時如何刪除那一點額外的填充? (Android -- How to remove that little extra padding when using a ListView with custom background?)

使用顯示時沒有底部填充:網格和滾動 (No bottom padding when using display: grid and scroll)

TCL 中的零填充 (zero padding in TCL)







留言討論