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