2017-02-20 13 views
1

AndroidManifestでアプリケーション全体のスタイルを適用する方法については読んでいますが、リニアレイアウトでスタイルを適用する方法が見つかりませんでした。例えば1つのLinearLayoutに共通のスタイルを適用する方法

私は変更したい:これらTextViewsのすべてのための大きさ、パディングおよびテキストallignmentを:

<LinearLayout 
     android:orientation="horizontal" 
     android:layout_height="0dp" 
     android:layout_width="match_parent" 
     android:layout_weight="30" 
     style="@style/ItemTransacationHeader"> 
     <!--android:theme="@style/ItemTransacationHeader">--> 


     <TextView 
      android:text="Client" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:id="@+id/textView8" 
      android:layout_weight="10" 
      /> 

     <TextView 
      android:text="Quantity" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:id="@+id/textView9" 
      android:layout_weight="10" 
      /> 

     <TextView 
      android:text="Product Value" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:id="@+id/textView12" 
      android:layout_weight="10" 
      /> 


    </LinearLayout> 

ので、私はスタイル

<style name="ItemTransacationHeader" parent="android:Theme"> 
    <item name="android:textSize">10dp</item> 
    <item name="android:textAlignment">textStart</item> 
    <item name="android:padding">4dp</item> 
</style> 

を作成し、私は適用するために、様々な方法で試してみましたそのスタイルはLinearLayoutに

style="@style/ItemTransacationHeader" 
android:theme="@style/ItemTransacationHeader" 
app:theme="@style/ItemTransacationHeader" 

しかし、私はこれも可能ですか?それはどのように実現できますか)

答えて

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

    <TextView 
     android:text="Client" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/textView8" 
     android:layout_weight="10" 
     style="@style/ItemTransacationHeader"/> 

    <TextView 
     android:text="Quantity" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/textView9" 
     android:layout_weight="10" 
     style="@style/ItemTransacationHeader"/> 

    <TextView 
     android:text="Product Value" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/textView12" 
     android:layout_weight="10" 
     style="@style/ItemTransacationHeader"/> 

</LinearLayout> 

既存の質問を参照してください

0

TextViewごとに@styleを個別に設定する必要があります。

0

アプリケーションのテーマであなたのTextViewのスタイルとしてそれを定義

<style name="AppTextStyle" parent="android:Theme"> 
    <item name="android:textSize">10dp</item> 
    <item name="android:textAlignment">textStart</item> 
    <item name="android:padding">4dp</item> 
</style> 

(あなたは明確にするため、名前を変更、この手順を、やった)あなたのTextViewのスタイルを作成します。

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    ... 
    <item name="android:textViewStyle">@style/AppTextStyle</item> 
</style> 

あなたのすべてをそのテーマのアクティビティのTextViewsはAppTextStyleを使用するようになりました。 Setting global styles for Views in Android

関連する問題