android中编辑文本内的边距

Posted

技术标签:

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

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

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

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

这是我的 xml 代码:

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

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

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

谁能帮我做这件事?

提前致谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

请记住,这些天(2016 年),此答案存在更改文本填充的问题,而不对背景可绘制对象执行相同操作。根据背景(例如 AppCompat 基本 EditText 样式),这可能看起来很奇怪

以上是关于android中编辑文本内的边距的主要内容,如果未能解决你的问题,请参考以下文章

Android - 自定义样式中指定的边距未生效

Android中不需要的填充或按钮周围的边距

android:padding 与 android:margin的差别

如何在 Android 中以编程方式设置按钮的边距?

如何在android java中以像素为单位设置ImageView的边距?

在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)