Rumah > Soal Jawab > teks badan
想给整个屏幕设置一个点击事件 当在屏幕上点击的时候 产生一个Onclick事件 但是我给一个
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.rela);
relativeLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
但是这样貌似不行啊 在整个屏幕上设置Touch事件的监听用这个方法可以实现 但是单机事件好像不行啊
天蓬老师2017-04-17 17:50:49
RelativeLayout pada asasnya ialah paparan, jadi tiada masalah untuk menetapkan pendengar untuknya. Anda tidak menetapkannya kepada match_parent?
伊谢尔伦2017-04-17 17:50:49
Perkara yang perlu diambil perhatian ialah:
1 Sama ada RelativeLayout yang anda tetapkan memenuhi seluruh skrin boleh ditentukan dengan menetapkan warna latar belakang.
2. Adakah terdapat sebarang liputan acara? Contohnya, jika terdapat butang pada RelativeLayout, dan butang yang anda klik, acara butang akan bercanggah dengan acara RelativeLayout anda Acara RelativeLayout
阿神2017-04-17 17:50:49
Tiada 点击事件
dalam acara sentuhan asas 点击事件
disimulasikan oleh View
Proses simulasi diselesaikan dalam beberapa kaedah pemprosesan View
. Peristiwa sentuhan akan dihantar daripada ibu bapa touch
kepada kanak-kanak View
, dan kemudian menggelegak daripada kanak-kanak View
kepada ibu bapa View
Semasa proses ini, kanak-kanak View
boleh makan acara itu. Dalam erti kata lain, acara sentuh tidak boleh Berbuih kembali kepada induk View
, kerana acara itu tidak dapat diterima, induk View
tidak dapat melengkapkan simulasi acara klik. Penyelesaian untuk View
ialah mewarisi dan menulis semula beberapa kaedah
pemprosesan View
, dan melengkapkan simulasi peristiwa klik sendiri. touch
巴扎黑2017-04-17 17:50:49
FrameLayout rootview=(FrameLayout)findViewById(android.R.id.content);
rootview.setClickable(true);
ringa_lee2017-04-17 17:50:49
Saya cadangkan anda melihat mekanisme pengedaran acara Android untuk memahami sebab ia tidak berfungsi.
Jika anda mesti melaksanakan fungsi ini, tetapkan OnClickListener
semua paparan kepada objek yang sama.