EditText内右侧和左侧的空格

时间:2014-05-21 09:22:48

标签: android android-edittext padding

我尝试在内部(右侧和左侧)创建一个带有2个按钮的EditText。我想在每一侧给它一个填充,以便文本不会出现在按钮后面。但是我不能。我尝试了padding, margin ......但没有任何东西适合我。可能是什么错误?

                   <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="match_parent"
                            android:layout_height="wrap_content" >

                            <EditText
                                android:id="@+id/buscar_monumento"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:ems="15"
                                android:gravity="center_horizontal"
                                android:hint="Buscar..."
                                android:imeOptions="actionDone"
                                android:inputType="text"
                                android:paddingLeft="40dp"
                                android:paddingRight="40dp"
                                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>

新代码

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

                            <EditText
                                android:id="@+id/buscar_monumento"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:ems="15"
                                android:gravity="center_horizontal"
                                android:hint="Buscar..."
                                android:imeOptions="actionDone"
                                android:inputType="text"
                                android:paddingLeft="40dp"
                                android:paddingRight="40dp"
                                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>

3 个答案:

答案 0 :(得分:0)

请勿使用FrameLayout,请使用RelativeLayout代替 如果您坚持使用FrameLayout,则framelayout最适用于单个项目,或者在Button和TextView周围包装LinearLayout

或者更好,将父视图组LinearLayout更改为RelativeLayout,否则ADT将告诉有关无用视图组的警告

答案 1 :(得分:0)

如果您只需要编辑文本两侧的两个按钮,那么最简单的方法就是

<LinearLayout
        android:id="@+id/buscar_linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:orientation="horizontal">
        <Button android:background="@drawable/ic_launcher"
            android:id="@+id/buscar_lupa"
            android:layout_width="22dp"
            android:layout_height="22dp"
            android:layout_gravity="left|center_vertical"
            android:layout_marginLeft="7dp"/>

            <EditText
                android:id="@+id/buscar_monumento"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:ems="15"
                android:gravity="center_horizontal"
                android:hint="Buscar..sdsdsdsds."
                android:text="1234567890123456789012345678901234567890"
                android:imeOptions="actionDone"
                android:inputType="text"
                android:textColor="#f00"
                android:textStyle="bold" >
            </EditText>



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

    </LinearLayout>

答案 2 :(得分:0)

首先,在新的代码段中,您将父线性布局可见性设置为

其次使用相对布局它的简单

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/buscar_monumento"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="15"
    android:hint="Buscar..."
    android:imeOptions="actionDone"
    android:inputType="text"
    android:paddingLeft="40dp"
    android:paddingRight="40dp"
    android:textColor="@color/negro"
    android:textStyle="bold" >
</EditText>

<Button
    android:id="@+id/buscar_lupa"
    android:layout_width="22dp"
    android:layout_height="22dp"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:background="@drawable/buscar_lupa" />

<Button
    android:id="@+id/buscar_salir"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="7dp"
    android:background="@drawable/buscar_salir" />

相关问题