2016-12-05 95 views
1

我想將某些TextView設置爲具有給定的文本大小。在樣式中更改大小對TextView沒有任何影響,而在佈局XML中更改大小卻具有正確的效果。我錯過了什麼?使用Android Studio中的樣式,文本大小在TextView中沒有變化

風格:

<style name="SliderTextTheme"> 
    <item name="android:layout_width">0dp</item> 
    <item name="android:layout_weight">1</item> 
    <item name="android:layout_gravity">center</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:textSize">25sp</item> 
    <item name="android:textAlignment">center</item> 
</style> 

佈局XML爲TextView的:

   <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/background_dark" 
    xmlns:tools="http://schemas.android.com/tools"> 

    <FrameLayout 
     android:id="@+id/image_frame" 
     android:padding="16dp" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="top" 
     android:layout_weight="5"> 
     <ImageView 
      android:id="@+id/color_wheel" 
      android:src="@drawable/color_wheel_730" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"/> 
    </FrameLayout> 

    <LinearLayout 
     android:id="@+id/slider_layout" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_gravity="center" 
     android:layout_weight="3"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_red" 
       android:text="@string/color_red"/> 
      <SeekBar 
       style="@style/ColorSeekBar" 
       android:id="@+id/red_seekbar" 
       android:progressTint="@color/RGBW_red" 
       android:thumbTint="@color/RGBW_red" /> 
      <TextView 
       android:id="@+id/red_value" 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_red" 
       tools:text="100" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_green" 
       android:text="@string/color_green"/> 
      <SeekBar 
       style="@style/ColorSeekBar" 
       android:progressTint="@color/RGBW_green" 
       android:thumbTint="@color/RGBW_green" /> 
      <TextView 
       android:id="@+id/green_value" 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_green" 
       tools:text="100" /> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_blue" 
       android:text="@string/color_blue"/> 
      <SeekBar 
       style="@style/ColorSeekBar" 
       android:progressTint="@color/RGBW_blue" 
       android:thumbTint="@color/RGBW_blue" /> 
      <TextView 
       android:id="@+id/blue_value" 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_blue" 
       tools:text="100" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="horizontal"> 

      <TextView 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_white" 
       android:text="@string/color_white"/> 
      <SeekBar 
       style="@style/ColorSeekBar" 
       android:progressTint="@color/RGBW_white" 
       android:thumbTint="@color/RGBW_white" /> 
      <TextView 
       android:id="@+id/white_value" 
       style="@style/SliderTextTheme" 
       android:textColor="@color/RGBW_white" 
       tools:text="100" /> 
     </LinearLayout> 

    </LinearLayout> 

    <RelativeLayout 
     android:id="@+id/button_layout" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:layout_gravity="bottom"> 

     <Button 
      android:id="@+id/test_button_1" 
      android:layout_alignParentLeft="true" 
      android:layout_margin="10dp" 
      android:layout_width="wrap_content" 
      android:padding="10dp" 
      android:layout_height="wrap_content" 
      android:background="#FFFFFF" 
      android:text="Send Colors"/> 
    </RelativeLayout> 

</LinearLayout> 

預先感謝您。 湯姆

+0

嗨,湯姆。當你使用寬度作爲0dp時,textview是否顯示?您是否也可以發佈完整的xml佈局 –

+0

樣式中的其他屬性是否適用於textview? –

+0

請參閱完整的XML。看起來有些屬性會改變,有些則不會。佈局屬性正在工作,但文本大小和樣式不。我無法通過樣式更改文本樣式(粗體等)或大小。 – tommyvdp

回答

0

我能夠通過改變

<item name="android:layout_width">0dp</item> 

讓你的風格工作,並調整文字大小

<item name="android:layout_width">wrap_content</item> 

如果您需要0dp寬度與你的體重屬性工作,請檢查以確保您操作的TextView絕對位於LinearLayout的內部。

+0

這對我來說沒有什麼不同,我爲活動添加了完整的XML,參見上文。 – tommyvdp

相關問題