При динамическом создании TextView второй TextView не появляется

Я создаю два TextViews в моем LinearLayout, используя код ниже. Я использую их таким образом, чтобы поймать сенсорное событие при нажатии на указанную область экрана

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    LinearLayout layOut = (LinearLayout)findViewById(R.id.loginView);

    LinearLayout.LayoutParams loginParams = new LinearLayout.LayoutParams(520, 70);
    loginParams.setMargins(120, 670, 0, 0);
    TextView loginBttn = new TextView(this);
    layOut.addView(loginBttn);
    loginBttn.setBackgroundColor(Color.GREEN);
    loginBttn.setLayoutParams(loginParams);
    loginBttn.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            // Code touch events
        }
    });

    LinearLayout.LayoutParams forgotParams = new LinearLayout.LayoutParams(370, 40);
    forgotParams.setMargins(150, 770, 0, 0);
    TextView forgotBttn = new TextView(this);
    layOut.addView(forgotBttn);
    forgotBttn.setBackgroundColor(Color.GREEN);        
    forgotBttn.setLayoutParams(forgotParams);
    forgotBttn.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            // Code touch events
        }
    });

Я использую Грин, чтобы найти их. Когда я закончу, я уберу эти строки. Первый работает и выглядит нормально, но второй не появляется, и я не понимаю, почему.

1 ответ

Решение

Я думаю, что это за пределами экрана, попробуйте снизить значения для поля и позиции, например:

    LinearLayout.LayoutParams loginParams = new LinearLayout.LayoutParams(50, 50);
    loginParams.setMargins(10, 10, 0, 0);
    TextView loginBttn = new TextView(this);
    layOut.addView(loginBttn);
    loginBttn.setBackgroundColor(Color.GREEN);
    loginBttn.setLayoutParams(loginParams);


    LinearLayout.LayoutParams forgotParams = new LinearLayout.LayoutParams(10, 10);
    forgotParams.setMargins(20, 20, 0, 0);
    TextView forgotBttn = new TextView(this);
    layOut.addView(forgotBttn);
    forgotBttn.setBackgroundColor(Color.GREEN);        
    forgotBttn.setLayoutParams(forgotParams);
Другие вопросы по тегам