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:如果手机点击按钮有声音那么要在代码中设置了监听器,手机上点击才会有声音。

posted @ 2013-07-17 13:27  竹尘居士  阅读(2404)  评论(0编辑  收藏  举报