Как программно создать ImageButton с изображением? - PullRequest
1 голос
/ 09 января 2012

Я пытаюсь добавить ImageButton поверх GLSurfaceView.Добавление обычных кнопок с текстом уже сделано и появляется на моем планшете.Создание ImageButton работает только наполовину, хотя.Когда я создал свой ImageButton программным способом, он показывает только поле для кнопки, но не загружает основной значок Android.Вот мой код:

LinearLayout btnLO = new LinearLayout(this);

LinearLayout.LayoutParams paramsLO = new LinearLayout.LayoutParams(
                        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// button margins
paramsLO.setMargins(0, 0, 0, 0);
// button height/width *pixels*
paramsLO.height = 75;
paramsLO.width = 75;

btnLO.setOrientation(LinearLayout.VERTICAL);
btnLO.setBackgroundColor(5); // not working correctly

//buttons
Button b1 = new Button(this);
Button b2 = new Button(this);
Button b3 = new Button(this);

int i1Btn = 0;
ImageButton i1 = new ImageButton(this);
i1Btn = R.drawable.icon;
i1.setImageResource(i1Btn);

//text for buttons
b1.setText("Arrow");
b2.setText("Move");
b3.setText("Scale");


//displays buttons with parameters (if any)
btnLO.addView(b1, paramsLO);
btnLO.addView(b2, paramsLO);
btnLO.addView(b3, paramsLO);
btnLO.addView(i1, paramsLO);

btnLO.setGravity(Gravity.LEFT | Gravity.CENTER_HORIZONTAL);

this.addContentView(btnLO, new LayoutParams(LayoutParams.FILL_PARENT,
                                            LayoutParams.FILL_PARENT));

Опять же, b1-b3 - обычные кнопки с текстом на них.Они работают отлично.Но «il» ImageButton показывает только часть кнопки без иконки.Любые предложения о том, что мне не хватает?

...