1

ImageButtonを動的に作成してスタイルを適用しようとしています。

これが私のスタイルです:

<style name="ActionBarActionButton">
    <item name="android:layout_width">30dp</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:background">@drawable/action_button</item>
</style>

ボタンの作成は次のとおりです。

ImageButton actionButton = new ImageButton(context, null, R.style.ActionBarActionButton);

スタイルのパラメーターが適用されていないため、まったく効果がないようです。

4

1 に答える 1

2

この方法ではうまくいかないことがわかりましたが、その理由は誰にもわかりませんでした (hello google?)

私はそのような回避策を使用しなければなりませんでした:

ボタンの新しいレイアウト ファイルを作成しました。

<?xml version="1.0" encoding="utf-8"?>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="40dp"
    android:layout_height="fill_parent"
    android:background="@drawable/action_button" >
</ImageButton>

そして、次のようにレイアウトに膨らませました:

    LayoutInflater inflater =  (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    ImageButton actionButton = (ImageButton) inflater.inflate(R.layout.imagebutton_action, getActionsLayout(), false);
    actionButton.setImageResource(action.getIconResource());        
    getActionsLayout().addView(actionButton);
于 2012-12-09T10:01:44.310 に答える