簡體   English   中英

使用TextView在頂部和底部進行Android不需要的填充

[英]Android unwanted padding on top and bottom with TextView

我試圖在圓形進度條中放置兩個文本視圖,如下圖所示。 這兩個文本應與圓形進度條的中心對齊。 在此輸入圖像描述

但文本視圖中不需要的填充阻止我將文本對齊到圓形進度條的中心。 這就是我得到的。

在此輸入圖像描述 在此輸入圖像描述

這是我的布局文件:

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

我被告知android:includeFontPadding可以幫助減少填充,但它沒有那么多幫助。 我也嘗試使用帶有Spannable的單個textView,但我得到了幾乎相似的結果。 我嘗試使用負邊距,但這不起作用,也不可靠。

將TextView的樣式屬性傳輸到XML時,TextView可能會以意外方式呈現。 這是因為TextView的默認樣式應用於布局文件中,當您在其中使用樣式屬性時會覆蓋該布局文件。

您可以嘗試在為TextView定義的樣式中使用parent =“android:TextAppearance” ,以確保繼承TextView的預定義樣式。

例:

讓我知道它是否適合你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM