Страницы

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

суббота, 8 февраля 2020 г.

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

#java #android #android_layout


Почему-то не отображается кнопка при программном написании кода, хотя тот же 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);
    }
}

    


Ответы

Ответ 1



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

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

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