Страницы

Поиск по вопросам

четверг, 11 апреля 2019 г.

Программно не отображается кнопка Android

Почему-то не отображается кнопка при программном написании кода, хотя тот же TextView исправно отображается. В чем может быть проблема?
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.ViewGroup; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView;
public class MainActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
TextView tv = new TextView(this); tv.setText("TextView"); tv.setLayoutParams(params); layout.addView(tv);
Button btn = new Button(this); btn.setText("Button"); btn.setLayoutParams(params);
layout.addView(btn);
setContentView(layout, params); } }


Ответ

Проблема в том, что первая добавленная вами View (TextView) занимает всё пространство контейнера и для кнопки не осталось места. Вы это задали через LayoutParams.MATCH_PARENT
Засим вам надо заменить MATCH_PARENT на WRAP_CONTENT

Комментариев нет:

Отправить комментарий