Nella mia attività sto mantenendo un , in cui sto impostando il tema.Ottieni il valore del colore attr basato sul tema impostato corrente
public class SuperActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.MyTheme);
}
}
themes.xml
<!-- ImageBackround -->
<style name="Theme.MyTheme" parent="ThemeLight">
<item name="myBgColor">@color/translucent_black</item>
</style>
Ora voglio prendere questo colore in uno della mia attività figlio.
Come menzionato in questo probabile answer, ho scritto:
int[] attrs = new int[] { R.attr.myBgColor /* index 0 */};
TypedArray ta = ChildActivity.this.obtainStyledAttributes(attrs);
int color = ta.getColor(0, android.R.color.background_light);
String c = getString(color);
ta.recycle();
Ma ogni volta che sto ottenendo il valore del valore predefinito di android.R.color.background_light
& non di R.attr.myBgColor
.
Dove sto sbagliando. Sto passando il contesto sbagliato di ChildActivity.this
?
Finalmente una risposta che funziona fuori dalla scatola! – kirtan403