Pre*_*thi 1 android custom-controls actionbarsherlock android-actionbar
我有一个要求,我有一个图标(不是应用程序图标)需要在操作栏的左侧.
我尝试创建自定义视图,但我不知道如何检测该图标上的点击.
想到的其他选项是使用setIcon(mycustomicon)并处理onOptionSelected方法的click事件; 但是这个方法也没有被调用而且不起作用.
我正在使用actionbar sherlockholmes库.是因为那个吗?
请帮助我,因为我坚持了好几天.
提前致谢
这可能对你有所帮助
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar);
/***THis will be used to creatre a custom action bar click listener **/
View v =getSupportActionBar().getCustomView();
/*** sample click is a id of the view i have used in action bar view ***/
((Button)v.findViewById(R.id.smaple_click)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
/*****Add your click function here******/
}
});
Run Code Online (Sandbox Code Playgroud)
如果要添加自定义视图getSupportActionBar().setCustomView(resId),则需要通过调用返回新创建的View对象getSupportActionBar().getCustomView().然后,您可以setOnClickListener像通常使用其他视图一样设置单击处理程序.
另一方面,如果您正在使用setCustomView的一个重载,它将View作为第一个参数,则可以省略第一步,因为您已经有一个View对象可以使用.
以下是第一种情况的示例:
getSupportActionBar().setCustomView(R.layout.test);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().getCustomView().setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// your code here
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8132 次 |
| 最近记录: |