Android SDK ImageButton растягивается, когда Gravity.Right - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть этот код:

ImageButton call = new ImageButton(context);
call.setId(9001+result.index);
call.setBackgroundResource(R.drawable.small_call);
LinearLayout.LayoutParams call_params = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT,
    LinearLayout.LayoutParams.WRAP_CONTENT
);
call.setLayoutParams(call_params);

Кнопка отображается так, как я хочу, но когда я делаю это:

ImageButton call = new ImageButton(context);
call.setId(9001+result.index);
call.setBackgroundResource(R.drawable.small_call);
LinearLayout.LayoutParams call_params = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT,
    LinearLayout.LayoutParams.WRAP_CONTENT,
    Gravity.CENTER_VERTICAL | Gravity.RIGHT
);
call.setLayoutParams(call_params);

Растягивает изображение, портит пропорции и делает его размытым / пиксельным.

Итак, как правильно отобразить изображение, как в первом фрагменте кода, но разместить кнопку там, где его помещает второй фрагмент кода?

Заранее спасибо.

1 Ответ

2 голосов
/ 09 февраля 2012

Используйте RelativeLayout или FrameLayout вместо LinearLayout.

См. Также layout_gravity в LinearLayout .

Это учебное пособие: AВизуальное руководство по относительным макетам в Android .

...