Android API Guides——User Interface

Menus

Creating Contextual Menus

2 ways: 1. floating context menu   2.contexual action mode.  对比如图:


floating context menu:   1.找到view  ->  registerForContextMenu()   2. onCreateContextMenu()    3.onContextItemSelected()

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
                                ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.context_menu, menu);
}
3...

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    switch (item.getItemId()) {
        case R.id.edit:
            editNote(info.id);
            return true;
        case R.id.delete:
            deleteNote(info.id);
            return true;
        default:
            return super.onContextItemSelected(item);
    }
}
contextual action mode: //TODO

Custom Components

componentized model,  基础是 View 和 ViewGroup

widgets:  android.widgets

layouts:  android.view

The Basic Approach

1. 继承 View 类或它的子类

2. override onXXX() methods.(onDraw(),   onMeasure()...)

3. 增加构造函数,使得其可以在xml中使用新属性。增加自己的methods

4. 使用该class.

Fully Customized Components  //TODO

Compound Controls

1. 继承某个layout类

2. 定义构造器:先调用父类构造器,然后创建内部component,处理xml属性,设置listener

3. 定义自己的methods

4. 根据需要定义 on....() methods

(注:1, 2, 4是最主要的步骤... 可以参考Api Demo, Views/Lists, List4.java 和 List6.java)

Modifying an Existing View Type  //TODO


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值