如何在编辑文本中为滚动条添加边距

How to add margin to scrollbar in edit text

我正在尝试为 editText 内部的滚动条添加一些边距,但我不确定该怎么做,因为滚动条位于 editText 本身内部(“scrollbars=水平的”)。自动出现的方式离文字太近了,需要离得远一点,有办法吗?

我有一个滚动条的自定义样式,它看起来已经和图片中的一样了,除了距离,也许有办法调整那里的边距?到目前为止,只有右边距有效,顶部和底部的边距使栏消失。 它需要看起来像这样:

XML:

<EditText
           android:id="@+id/edit_text"
           style="@style/Field"
           android:layout_width="0dp"
           android:layout_height="wrap_content"
           android:layout_marginStart="@dimen/size_2"
           android:layout_marginTop="@dimen/size_1"
           android:layout_marginBottom="@dimen/size_1"
           android:autofillHints="@null"
           android:clickable="true"
           android:duplicateParentState="true"
           android:focusable="true"
           android:inputType="text"
           android:scrollbars="horizontal"
           android:scrollbarStyle="outsideOverlay"
           android:scrollbarThumbHorizontal="@drawable/scrollbar"
           android:scrollbarTrackHorizontal="@drawable/scrollbar_track"
           android:gravity="center_vertical"/>

滚动条缩略图:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:right="16dp"> <!-- Margin -->
       <shape>
           <solid android:color="@color/specific_border_2" />
           <corners android:radius="4dp" />
       </shape>
   </item>
</layer-list>

滚动条轨迹:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:right="16dp"> <!-- Margin -->
       <shape>
           <solid android:color="#E2E0EB" />
           <stroke
               android:width="1dp"
               android:color="@color/specific_background_3" />
           <size android:width="15dp" />
           <corners android:radius="4dp" />
       </shape>
   </item>
</layer-list>

您可以设置 android:scrollbarStyle="outsideOverlay" 并使用 android:paddingBottom

控制滚动条的边距

演示:

<EditText
    android:id="@+id/name_text"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    android:fadeScrollbars="false"
    android:paddingBottom="8dp"
    android:scrollbarAlwaysDrawHorizontalTrack="false"
    android:scrollbarStyle="outsideOverlay"
    android:scrollbarThumbHorizontal="@drawable/scrollview_thumb"
    android:scrollbars="horizontal" />

scrollview_thumb.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#C2C3C3" />
    <corners android:radius="15dp" />
    <size android:width="5dp" />
</shape>