在EditText中填充

时间:2014-05-17 12:36:56

标签: android image text android-edittext padding

我正在尝试创建一个内部有两个图像的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>

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

另一个建议是尝试使用layoutMargin代替padding

边距控制BETWEEN视图的距离,其中 - 填充控制视图与其父级边缘的距离。

底线,边距和填充是不同的,在不同情况下使用它们可能会有更多成功。

这是一个很好的解释这个概念的SO:Difference between a View's Padding and Margin

答案 2 :(得分:0)

您可以使用水平线性布局而不是帧布局..

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