【问题标题】:margin inside the edit text in androidandroid中编辑文本内的边距
【发布时间】:2012-04-12 11:21:19
【问题描述】:

我的问题是:我有一个 EditText,我想在 EditText 内设置一个边距,我的意思是编辑文本的内容(文本)的边距,而不是我可以通过这个属性解决的视图的边距:android:layout_marginLeft.

我需要在 EditText 内的文本前后留出一些空间。

我尝试设置填充,但不起作用!

这是我的 xml 代码:

<FrameLayout
    android:layout_width="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" 
    android:layout_marginLeft="2dp">

    <EditText android:inputType="none"
        android:textSize="15sp" 
        android:id="@+id/editText1" 
        android:scrollHorizontally="true" 
        android:layout_height="35dp"  
        android:padding="3dip" 
        android:singleLine="true"
        android:layout_width="160dp" 
        android:layout_weight="0" />

    <ImageView android:id="@+id/refreshButton" 
        android:src="@drawable/refresh" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:layout_gravity="center_vertical|right" />
</FrameLayout>

谁能帮我做这件事?

提前致谢

【问题讨论】:

    标签: android android-layout android-edittext margin textview


    【解决方案1】:

    填充变量应该正是您要查找的。您应该尝试将填充增加到 10dp 之类的值,以测试它是否有任何作用。我猜是因为 EditText 的背景是一个 9 补丁,所以填充没有按照您的预期进行。当您在以 9 补丁作为背景的视图上设置填充时,任何内置于 9 补丁中的填充都将被忽略。因此,如果 9 补丁具有 5dp 填充并且您在 xml 中设置了 3dp 填充,您将不会获得 8dp 填充,您将获得 3dp。

    【讨论】:

    • 请记住,这些天(2016 年),此答案存在更改文本填充的问题,而不对背景可绘制对象执行相同操作。根据背景(例如 AppCompat 基本 EditText 样式),这可能看起来很奇怪
    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 2016-08-11
    • 1970-01-01
    • 2014-03-26
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    相关资源
    最近更新 更多