私は Android プロジェクトに取り組んでおり、ウィンドウ タイトルの背景スタイルを取得してから背景色/ドローアブルを抽出しようとしています (そのため、それらをカスタム タイトルバー レイアウトに適用できます)。このコードを使用して、スタイルの TYPE_REFERENCE に到達できました。
TypedValue a = new TypedValue();
getTheme().resolveAttribute(android.R.attr.windowTitleBackgroundStyle, a, true);
if(a.type == TypedValue.TYPE_REFERENCE){
// GOES IN HERE
// Drawable d = getResources().getDrawable(a.resourceId); // THROWS A RESOURCES NOT FOUND EXCEPTION
}
a が指しているリソースが何であるかをうまく理解し、そこから color/Drawable に移動する方法について、私は空白になっています (Google で簡単に 2 時間の呪文を試みたにもかかわらず)。どこかで XML で定義されたスタイルであると想定しています。実際にそのスタイルのプロパティ/属性/設定をプログラムで取得し、背景に添付された色/Drawable を取得するにはどうすればよいですか?