Android使用TextView在顶部和底部添加不需要的填充

Android使用TextView在顶部和底部添加不需要的填充,android,android-layout,textview,Android,Android Layout,Textview,我试图将两个文本视图放在圆形进度条中,如下图所示。这两个文本应与圆形进度条的中心对齐。 但是文本视图中不需要的填充阻止我将文本对齐到圆形进度条的中心。这就是我得到的 这是我的布局文件: <FrameLayout android:id="@+id/onboarding_activity_progress_layout" android:layout_gravity="center_horizontal" andr

我试图将两个文本视图放在圆形进度条中,如下图所示。这两个文本应与圆形进度条的中心对齐。

但是文本视图中不需要的填充阻止我将文本对齐到圆形进度条的中心。这就是我得到的

这是我的布局文件:

 <FrameLayout
            android:id="@+id/onboarding_activity_progress_layout"
            android:layout_gravity="center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp">

            <com.locationlabs.finder.android.core.ui.CircularProgressBar
                  android:id="@+id/onboarding_activity_progress_bar"
                  android:layout_gravity="center"
                  android:padding="10dp"
                  android:layout_width="120dp"
                  android:layout_height="120dp"
                  app:progressColor="@color/progress_bar_color"
                  app:backgroundColor="@color/progress_bar_background_color"
                  app:progressBarWidth="10dp"
                  tools:progress="60"/>
            <LinearLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:includeFontPadding="false"
                  android:layout_gravity="center">

                <TextView
                      android:id="@+id/number_of_remaining_steps"
                      style="@style/OnboardingNumberOfRemainingStepText"
                      tools:text="2"/>

                <TextView
                      android:id="@+id/remaining_number_of_steps"
                      style="@style/OnboardingRemainingStepText"
                      tools:text="steps left"/>

            </LinearLayout>
        </FrameLayout>

以下是样式:

<style name="OnboardingNumberOfRemainingStepText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">center_horizontal</item>
        <item name="android:fontFamily">sans-serif</item>
        <item name="android:textSize">40sp</item>
        <item name="android:textColor">@color/dark_grey</item>
        <item name="android:includeFontPadding">false</item>
    </style>

  <style name="OnboardingRemainingStepText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">center_horizontal</item>
        <item name="android:fontFamily">sans-serif-light</item>
        <item name="android:textSize">16sp</item>
        <item name="android:textColor">@color/dark_grey</item>
        <item name="android:textStyle">normal</item>
    </style>

包装内容
包装内容
水平中心
无衬线
40便士
@颜色/深灰色
假的
包装内容
包装内容
水平中心
无衬线灯
16便士
@颜色/深灰色
正常的

有人告诉我,android:includeFontPadding有助于减少填充,但没有多大帮助。我还尝试了使用Spanable的单一文本视图,但得到了几乎相似的结果。我尝试了负边际,但没有成功,也不可靠

将TextView的样式属性转换为XML时,TextView可能会以意外的方式呈现。这是因为TextView的默认样式应用于布局文件中,当您在其中使用“样式”属性时,该布局文件将被覆盖

您可以尝试在为TextView定义的样式中使用parent=“android:TextAppearance”,以确保继承TextView的预定义样式

例如:


让我知道它是否对你有用

将TextView的样式属性转换为XML时,TextView可能会以意外的方式呈现。这是因为TextView的默认样式应用于布局文件中,当您在其中使用“样式”属性时,该布局文件将被覆盖

您可以尝试在为TextView定义的样式中使用parent=“android:TextAppearance”,以确保继承TextView的预定义样式

例如:


让我知道它是否对你有用

我想是TextSize的问题,试着将其设置为较低的值。@MikeM我已经尝试过填充
0dp
,但没有效果@VeereshCharantimath我不想降低
textSize
。是否尝试将容纳文本视图的线性布局的宽度设置为120dp?@Francesc这没有帮助。它将文本向上移动一点,与圆形进度条重叠,两个文本视图之间的填充仍然相同。您尝试过吗?包装文本视图并覆盖onDraw以删除顶部和底部空间。我认为这是文本大小,请尝试将其设置为较低的值。@MikeM我已经尝试过填充
0dp
,但没有帮助@VeereshCharantimath我不想降低
textSize
。是否尝试将容纳文本视图的线性布局的宽度设置为120dp?@Francesc这没有帮助。它将文本向上移动一点,与圆形进度条重叠,两个文本视图之间的填充仍然相同。您尝试过吗?包装文本视图并覆盖onDraw以删除顶部和底部空间。