ウェイトを使用してボタンをレイアウトするためにテーブル レイアウトを使用します。ボタンは 0dip サイズまたは wrap_content を取得するため、ウェイトによって拡張されます。
ボタンを ImageButton に変換し、画像をボタンのサイズに設定し、拡大しないようにしようとしています。
ボタンを作成してサイズを取得してから、イメージを割り当て、ImageButton.setMaxHeight(); を使用して高さを制限します。
final ImageButton ib = (ImageButton) findViewById(R.id.buttonOptions);
ib.post(new Runnable() {
public void run() {
final int height = ib.getHeight();
ib.setScaleType(ScaleType.FIT_CENTER);
ib.setMaxHeight(5); // or height
ib.setImageResource(R.drawable.options);
}});
画像は元のサイズで描画されているため、ボタンが拡大されています... setMaxHeight() は画像の高さ/幅を制限していません。理由はありますか?