使用TextView

时间:2016-04-17 06:18:38

标签: android android-layout textview

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

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

enter image description here enter image description here

这是我的布局文件:

 <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,但我得到了几乎相似的结果。我尝试使用负边距,但这不起作用,也不可靠。

1 个答案:

答案 0 :(得分:0)

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

您可以尝试在为TextView定义的样式中使用 parent =&#34; android:TextAppearance&#34; ,以确保继承TextView的预定义样式。

示例:

让我知道它是否适合你!