android中监听layout布局

android开发可以对layout文件夹中的xml文件里的布局进行监听,并处理事件,如:对RelativeLayout,LinearLayout,FrameLayout,GridLayout等布局容器进行监听,当有点击事件事做出相应的响应。代码如下如下:

 1  @Override 

 2 

 3 public void onActivityCreated(Bundle savedInstanceState) 

 4 

 5 { 

 6 //我这是在fragment里所以用getView(),如果是在activity中直接用this就行 

 7 

 8 LinearLayout ll=(LinearLayout) getView().findViewById(R.setting_layout.center_button_layout); 

 9 

10 ll.setOnClickListener(new AccountListener()); super.onActivityCreated(savedInstanceState); 

11 

12 } 

13 

14 class AccountListener implements OnClickListener{ 

15 

16 @Override public void onClick(View v) {

17 

18  Log.i("tag", "accountOnClick"); 

19 

20 } 

21 

22 } 

 

 

注意事项: 1:只能用来监听用findviewbyid拿到的View再强转成相应布局(比如xml文件最外层是用的linearLayout那也不能直接getView就来设置,必须要先给layout一个id然后再取得)。 2:layout里有button等控件的话监听了layout但点击到button上是不能产生事件的,只有点击到button以外,layout以内时才有事件发生(要想使button不挡着layout的焦点可以把button的focusable设置为false)。 3:如果手机点击按钮有声音那么要在代码中设置了监听器,手机上点击才会有声音。

你可能感兴趣的:(android)