android下拉列表的默认值,android – 从操作项自定义下拉列表(actionba...

博主正在尝试为操作项添加一个完全自定义的下拉菜单,类似于主页图标使用的NAVIGATION_MODE_LIST模式。他们希望保持下拉菜单的外观,同时实现自定义字体和图标。目前,使用Spinner作为actionLayout的方法并不理想,因为它改变了布局和风格。问题在于如何在不牺牲下拉效果的情况下实现自定义设计。代码示例展示了如何将Spinner附加到操作项,但并未达到期望的视觉效果。
摘要由CSDN通过智能技术生成

我需要一个附加到操作项的自定义下拉菜单.我设法为主页图标做同样的事情,但似乎与其他动作项目完全不同.

我知道这个问题和答案:How to add a Dropdown item on the action bar

我的问题是我想完全自定义它(我使用自定义字体,也需要图标),所以子菜单是不够的,我想.将自定义Spinner附加为actionLayout看起来就像下拉一样.

对于主页图标,它看起来像这样:

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

ArrayList data = new ArrayList();

data.add(...);

data.add(...);

ActionBarNavAdapter adapter = new ActionBarNavAdapter(...);

actionBar.setListNavigationCallbacks(adapter, new OnNavigationListener() {...});

我可以在不牺牲“下拉”的情况下添加自己的设计.

如何使用其他动作项目?

编辑:

我知道使用NAVIGATION_MODE_LIST的活动使用Spinner(ListNavigationCallbacks使用SpinnerAdapter),但它看起来更好,我不知道从哪里获取所有这些样式(如果它只是那样)使它看起来像那样.我的意思是:

好 – > NAVIGATION_MODE_LIST的外观如何:它正在包装列表,它附在主页图标下面.

不好 – >自定义Spinner作为actionLayout的外观如何:它将屏幕宽度与一些额外的深色背景相匹配,替换了操作项图标(这很容易更改),最重要的是,使屏幕的其余部分变暗.它看起来更像是带有自定义列表的AlertDialog,而不是下拉菜单.

码:

@Override

public boolean onPrepareOptionsMenu(Menu menu) {

MenuItem sortItem = menu.findItem(R.id.sort);

Spinner spinner = new Spinner(this);

//this is the same adapter because I didn't want to spend time creating a new one

//ActionBarNavAdapter extends SpinnerAdapter of course

ArrayList data = new ArrayList();

data.add(...);

data.add(...);

ActionBarNavAdapter adapter = new ActionBarNavAdapter(...);

spinner.setAdapter(adapter);

sortItem.setActionView(spinner);

return true;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值