0

ボタンを動的に追加するコードがありますRelativeLayout(MyButton は Button を拡張し、setTaggetTagを設定しますImageView)。ボタンにはImageViewアイコンとして がある場合とない場合があります。

ImageView ボタン (アイコンなど) を割り当てるコード:
// ユーザーがテーマをアイコンで設定した場合

if (this.isShowIcons() == true) {
    if (newButton.getTag() != null) {

        newButton.setCompoundDrawablesWithIntrinsicBounds(null, ((ImageView) newButton.getTag()).getDrawable(), null, null);
        newButton.setPadding(leftpadding, toppadding, rightpadding, bottompadding);
    } else {
        newButton.setPadding(5, 5, 5, 5);
    }
} else {
    newButton.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
    newButton.setPadding(5, 5, 5, 5);
}

ターゲットと最小バージョンを指定する行をマニフェストに挿入すると、アイコンがボタン内の下部に表示されることがわかりました。

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />

行を単純に削除すると、uses-sdkほとんどのデバイスで動作しますが、タブレットではレイアウトが問題になります。

ImageView サンプル:

ImageView imb1 = new ImageView(this.getBaseContext());
imb1.setImageResource(R.drawable.icon_1);
imb1.setMaxHeight(120);
imb1.setMaxWidth(120);
imb1.setScaleType(ImageView.ScaleType.CENTER);

MyButton b1 = new MyButton(this);
b1.setText("Label...");
b1.setId(1001);
b1.setTag(imb1);

誰でも私を助けることができますか?

4

1 に答える 1

0

解決策:両方の状況でパディングを削除しましたが、うまくいきました。

于 2012-08-15T19:38:01.670 に答える