2014-05-17 127 views
1

我想創建一個EditText裏面的兩個圖像。我想把它填充到EditText的右側和左側。但是當我在EditText中寫入時,文本一直到達左側和右側。填充內EditText

這可能是錯誤嗎?

<LinearLayout 
         android:id="@+id/buscar_linear" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="4dp" 
         android:orientation="horizontal" 
         android:visibility="gone" > 

         <FrameLayout 
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content" > 

          <EditText 
           android:id="@+id/buscar_monumento" 
           android:layout_width="fill_parent" 
           android:layout_height="wrap_content" 
           android:ems="15" 
           android:gravity="center_horizontal" 
           android:hint="Buscar..." 
           android:imeOptions="actionDone" 
           android:inputType="text" 
           android:padding="40dp" 
           android:singleLine="true" 
           android:textColor="@color/negro" 
           android:textStyle="bold" > 
          </EditText> 

          <Button 
           android:id="@+id/buscar_lupa" 
           android:layout_width="22dp" 
           android:layout_height="22dp" 
           android:layout_gravity="left|center_vertical" 
           android:layout_marginLeft="7dp" 
           android:background="@drawable/buscar_lupa" /> 

          <Button 
           android:id="@+id/buscar_salir" 
           android:layout_width="25dp" 
           android:layout_height="25dp" 
           android:layout_gravity="right|center_vertical" 
           android:layout_marginRight="7dp" 
           android:background="@drawable/buscar_salir" /> 
         </FrameLayout> 
        </LinearLayout> 

回答

2

你可以嘗試這樣的

<EditText 
     android:id="@+id/buscar_monumento" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ems="15" 
     android:gravity="center_horizontal" 
     android:hint="Buscar..." 
     android:imeOptions="actionDone" 
     android:inputType="text" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:singleLine="true" 
     android:textColor="@color/negro" 
     android:textStyle="bold" > 
    </EditText> 
+0

什麼都沒有改變 – user3616171

0

你可以用它代替框架佈局水平的LinearLayout ..

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation = "horizontal"> 
    <EditText 
     android:id="@+id/buscar_monumento" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ems="15" 
     android:gravity="center_horizontal" 
     android:hint="Buscar..." 
     android:imeOptions="actionDone" 
     android:inputType="text" 
     android:padding="40dp" 
     android:singleLine="true" 
     android:textColor="@color/negro" 
     android:textStyle="bold" > 
    </EditText> 

    <Button 
    android:id="@+id/buscar_lupa" 
    android:layout_width="22dp" 
     android:layout_height="22dp" 
     android:layout_gravity="left|center_vertical" 
     android:layout_marginLeft="7dp" 
    android:background="@drawable/buscar_lupa" /> 

    <Button 
     android:id="@+id/buscar_salir" 
     android:layout_width="25dp" 
     android:layout_height="25dp" 
     android:layout_gravity="right|center_vertical" 
     android:layout_marginRight="7dp" 
     android:background="@drawable/buscar_salir" /> 
    </LinearLayout> 
1

另一個建議是嘗試使用layoutMargin,而不是padding

邊距控制BETWEEN視圖之間的距離,其中padding控制視圖與其父級邊緣的距離。

底線,邊距和填充是不同的,並且您可能會在不同情況下使用每種方法獲得更多成功。

這裏是一個很好SO解釋這一概念:Difference between a View's Padding and Margin

+0

你可以把代碼嗎? – user3616171

+0

沒有代碼,這是一個在UI中很重要的基本概念:http://stackoverflow.com/questions/4619899/difference-between-a-views-padding-and-margin – Booger