При динамическом создании 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);