Matthias Matthias - 5 months ago 15
Android Question

Android: how to use color from style in XML of another layout

I got this style in XML:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->

<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">@color/teal_500</item>

<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/teal_700</item>

<!-- colorAccent is used as the default value for colorControlActivated
which is used to tint widgets -->
<item name="colorAccent">@color/light_blue_500</item>

<!-- needed to suppress the old ActionBar when using the new Toolbar -->
<item name="android:windowActionBar">false</item>

<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight & colorSwitchThumbNormal. -->
</style>

</resources>


Question:

And inside the XML of a
Fragment
I'm using
TextView
onto which I would like to assign
"colorPrimary"
from the theme. But how?

<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_input"
android:textColor="@android:color/black" <!-- use theme color here-->
android:fontFamily="sans-serif-bold"
android:text="some text"
android:textSize="24dp"/>

N J N J
Answer

You can use like this

<TextView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/text_input"
              android:textColor="?attr/colorPrimary"   
              android:fontFamily="sans-serif-bold"
              android:text="some text"
              android:textSize="24dp"/>
Comments