android 为什么我的下拉列表菜单在菜单得上面,是布局的问题吗

Android 仿京东分类树形多级菜单_安卓扩展下拉菜单例子_DD博客
Android UI实现多级列表TreeView
收款微信号 dwtedx
支付宝帐户
比特币帐户
深度剖解各个领域业务流程、全面展示自己的所长及个人发展新思路
微信公众号 : (推荐)
备案信息 :
DD博客上的所有软件和源码Demo及相关资料均为软件商和个人工作总结或网友推荐及网络收集整理而来、仅供学习和研究使用、切勿用做商业用途、如有侵犯版权者、请来信到邮箱 : 指出、DD博客将立即修正、净化网络版权环境、同时DD博客也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害
& Copyright 2017. All rights reserved.ul').hide()" onmouseenter="jQuery('.sitegroup>ul').show()">
立即充值>
做任务去>
请完成以下验证码
spinner下拉菜单自定义每项中间的黑线去除问题
[img]file:///C:/Users/duomai/AppData/Roaming/Tencent/Users//QQ/WinTemp/RichOle/9I6WK[I5K%606L~$PETR%7DBW%256.jpg[/img]spinner打开这个下拉菜单中间的黑色分隔线如何自定义啊?
就叫小音呗
顶一下,求帮助!
可以自定义一个spinner的adapter
〃说变就变
自定义adapter需要加载的布局!
就叫小音呗
自定义adapter需要加载的布局!
final Spinner sp = (Spinner) view
& & & & & & & & & & & & & & & & .findViewById(R.id.dialog_offer_currencys);
& & & & & & & & ArrayAdapter&String& adapter = new ArrayAdapter&String&(context,
& & & & & & & & & & & & & & & & R.layout.simple_spinner_items, data);
& & & & & & & & adapter.setDropDownViewResource(R.layout.item_dialog_spinner);
& & & & & & & & sp.setAdapter(adapter);
我是这么做的啊,不过这两个布局都是个textview,还是不能控制中间的分割线
就叫小音呗
可以自定义一个spinner的adapter
final Spinner sp = (Spinner) view
& & & & & & & & & & & & & & & & .findViewById(R.id.dialog_offer_currencys);
& & & & & & & & ArrayAdapter&String& adapter = new ArrayAdapter&String&(context,
& & & & & & & & & & & & & & & & R.layout.simple_spinner_items, data);
& & & & & & & & adapter.setDropDownViewResource(R.layout.item_dialog_spinner);
& & & & & & & & sp.setAdapter(adapter);
我是这么做的啊,不过这两个布局都是个textview,还是不能控制中间的分割线
final Spinner sp = (Spinner) view
& & & & & & & & & & & & & & & & .findViewById(R.id.dialog_offer_currencys);
& & & & & & & & ArrayAdapter a ...
R.layout.item_dialog_spinner 这个布局看下呢
就叫小音呗
R.layout.item_dialog_spinner 这个布局看下呢
&?xml version=&1.0& encoding=&utf-8&?&
&TextView xmlns:android=&http://schemas.android.com/apk/res/android&
& & android:id=&@+id/tv_group&
& & android:layout_width=&match_parent&
& & android:layout_height=&30dp&
& & android:layout_marginBottom=&5dp&
& & android:layout_marginTop=&5dp&
& & android:textSize=&14sp&
& & android:background=&@color/white&
& & android:gravity=&center&
& & android:textColor=&@color/black&
& &&&android:drawableBottom=&@drawable/rectangle_submit_pay&&
&/TextView&
这就不清楚了 你用的虚拟机吧 如果是换真机试试看
就叫小音呗
这就不清楚了 你用的虚拟机吧 如果是换真机试试看
都这样,这个有安卓写好的几种样式,不过都不好看,自己自定义的又改不了那个分割线...很蛋疼
〃说变就变
final Spinner sp = (Spinner) view
& & & & & & & & & & & & & & & & .findViewById(R.id.dialog_offer_currencys);
& & & & & & & & ArrayAdapter a ...
用这个方法:
listview.setDividerHeight(0);
设置分割线高度为0,他就消失了!你试试!
本月Top10热心解答
以下通知在本月积极为他人答疑解惑。体现专业的技术素养,崇高的助人精神。感谢他们付出!
技术GG还在愁如何赚安币?不要说我没有告诉你们攻略哦~
安卓巴士每月都会举行博文大赛,第三期精彩博文集锦,大家快来观摩!
过往热门资讯,优质博文与源码汇集于此,徜徉其中,总会有所收获...
合作电话:
商务市场合作/投稿
问题反馈及帮助在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
添加分享按钮后,点击如何弹出下拉菜单显示可以分享的应用。
public boolean onCreateOptionsMenu(Menu menu) {
//return super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu, menu);
MenuItem item = menu.findItem(R.id.menu_item_share);
shareActionProvider = (android.support.v7.widget.ShareActionProvider) MenuItemCompat.getActionProvider(item);
private void setshareIntent(Intent shareIntent){
if (shareActionProvider!=null){
shareActionProvider.setShareIntent(shareIntent);
private Intent createIntent(){
Intent shareIntent = new Intent();
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,"hello");
return shareI
public boolean onOptionsItemSelected(MenuItem item) {
//return super.onOptionsItemSelected(item);
switch (item.getItemId()){
case R.id.refresh:
updateWeather();
case R.id.setting:
Intent intent = new Intent(MyApplication.getContext(),SettingsActivity.class);
startActivity(intent);
case R.id.menu_item_share:
setshareIntent(createIntent());
return super.onOptionsItemSelected(item);
MainActicty继承AppCompatActivitymenu.xml文件
&?xml version="1.0" encoding="utf-8"?&
&menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"&
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
&group android:id="@+id/hide_shoose"&
&item android:id="@+id/refresh"
android:orderInCategory="100"
android:title="刷新" /&
&item android:id="@+id/setting"
android:orderInCategory="100"
android:title="设置"/&
&item android:id="@+id/setlocation"
android:orderInCategory="100"
android:title="位置"/&
android:id="@+id/menu_item_share"
app:showAsAction="ifRoom"
android:title="share"
android:icon="@drawable/chrome48"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/&
然后通过intent来实现应用的过滤。现在的问题是无法点击以及弹出下拉菜单;我是学着的serach Button这部分写的,之前题述不对对不起帮助的各位。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
既然 getActionProvider 为 null,那就新建一个:
private ShareActionProvider mShareActionP
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.options_menu, menu);
MenuItem item = menu.findItem(R.id.menu_item_share);
// mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
mShareActionProvider = new ShareActionProvider(MainActivity.this);
mShareActionProvider.setShareIntent(createIntent());
MenuItemCompat.setActionProvider(item, mShareActionProvider);
另外:更新评论中的说法,调试后发现,你的问题并不需要实现 menu item 对应的监听器方法:case R.id.menu_item_share:也就是,这个分支的内容是可以删掉的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
关键部分代码没贴完整,把 creatOptionsMenu 方法下的代码都贴上来看一下。另外,creatIntent 方法 return前加上 Intent.createChooser(shareIntent, "Share");
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
感觉像官方support_v4_demos里的"App/ShareCompat Demo",可以参考一下,效果就是右上角一个图标,图标会带下标,点击后弹出下拉式Spinner一样的列表
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。安卓自定义下拉菜单教程_网易手机
安卓自定义下拉菜单教程
用微信扫码二维码
分享至好友和朋友圈
通过《AntTek Quick Settings》,我们可以很方便的打造自定义下拉菜单,快捷开关、快捷设置、快捷启动、快捷拨号……都可以利用它轻松实现。另外值得一提的是,安卓众多系统增强类的APP都需要拥有root权限,而AntTek Quick Settings即便没有root权限,也完全没有问题。
这年头,甭管是苹果、安卓还是最新流出的WP8.1,没个通知栏下拉菜单都不好意思叫智能机。不过这下拉菜单也分三六九等,要论功能齐全还得是我大安卓。况且我们安卓用户要的就是自由、能折腾,除了系统自带功能,各种自定义才是我们的最爱。如果你的rom无法下拉菜单自定义,又懒的为此刷机,那么不妨来看看下面的教程。不管是各项具体设定还是开启任意APP,都能让你通过下拉菜单迅速搞定。增强系统功能多半要借助APP来实现,这次也不例外,我们要通过《AntTek Quick Settings》这款应用来实现。安装并开启后,可以看到一个九宫格式的图标页面,即是默认的下拉菜单样式。不过区区9个开关显然无法满足我们的需求。不要着急,接下来是自定义方法。点击界面中的“添加”按钮,进入“功能选择器”界面。铺面而来的就是一堆详细的功能设置按钮,自动亮度、飞行模式、无线热点、VPN设置、音频设置、休眠时长、字体大小……,几乎涵盖的设置中的各个具体选项。点选任意按钮就可以将对应的功能按钮加入自定义下拉菜单中。添加更多快捷按钮有没有觉得威武霸气?不过这还远远未够班啊。在“功能选择器”页面还可以通过上方的按钮切换“应用”、“捷径”、“联系我们”、“其他”等多个标签页。加个第三方应用,任意联系人,又或是把系统播放器的控制按钮扔到下拉菜单中,全都分分钟就能搞定。添加应用及捷径添加联系人和系统工具给下拉菜单添加完我们需要的快捷按钮后,还要对整体做一下设置。在《AntTek Quick Settings》的主界面点击右上角的按钮,然后点选设置。再进入Theme选项,其中“更改主题”可以修改下拉菜单的显示样式;“修改下拉栏”可以通过滑块的方式改变菜单在屏幕顶部可激活的位置及大小;“改变操作键大小”则可以修改菜单中快捷按钮的大小(修改后记得点右上角的“对号”保存)。设置选项调整下拉菜单激活位置调整快捷按钮大小对于一些更加细化的设置,大家可以通过“外观及显示设置”、“操作动态”等选项调整,感兴趣的同学可以自行研究一下。更多设置
完成设置后,我们就可以像使用下拉通知栏一样,在我们设置的位置通过下滑的动作呼出自定义菜单。如果你还需要原有的下拉菜单也不要担心,在顶部未设置的区域下滑就可以了,另外通过自定义菜单右上角的按钮同样也可以切换回原菜单,非常方便。编辑点评:通过《AntTek Quick Settings》,我们可以很方便的打造自定义下拉菜单,快捷开关、快捷设置、快捷启动、快捷拨号……都可以利用它轻松实现。另外值得一提的是,安卓众多系统增强类的APP都需要拥有root权限,而AntTek Quick Settings即便没有root权限,也完全没有问题,即便是小白使用起来也不会有太大问题。
本文来源:斑马网
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈Android实现三级联动下拉框下拉列表spinner的实例代码
核心提示:这篇文章介绍了Android实现三级联动下拉框 下拉列表spinner的实例代码,有需要的朋友可以参考一下主要实现办法:动态加载各级下拉值的适配器
在监听本级下拉框,当本级下拉框的选中值改变时,随之修改下级的适配器的绑定值
代码如下:&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&&& xmlns:tools="http://schemas.android.com/tools"&&& android:layout_width="match_parent"&&& android:layout_height="wrap_content"&&& android:orientation="horizontal"&&& android:padding="8dp" &&&& &Spinner&&&&&&& android:id="@+id/spin_province"&&&&&&& android:layout_width="80dp"&&&&&&& android:layout_height="wrap_content" /&
&&& &Spinner&&&&&&& android:id="@+id/spin_city"&&&&&&& android:layout_width="112dp"&&&&&&& android:layout_height="wrap_content" /&
&&& &Spinner&&&&&&& android:id="@+id/spin_county"&&&&&&& android:layout_width="100dp"&&&&&&& android:layout_height="wrap_content" /&&/LinearLayout&实现代码:
代码如下:package com.example.android.demo.
import android.os.Bimport android.app.Aimport android.view.Vimport android.widget.AdapterVimport android.widget.ArrayAimport android.widget.S
public class MainActivity extends Activity{&&& private Spinner provinceSpinner =& //省级(省、直辖市)&&& private Spinner citySpinner =&&&& //地级市&&& private Spinner countySpinner =&&& //县级(区、县、县级市)&&& ArrayAdapter&String& provinceAdapter =& //省级适配器&&& ArrayAdapter&String& cityAdapter =&&& //地级适配器&&& ArrayAdapter&String& countyAdapter =&&& //县级适配器&&& static int provincePosition = 3;&&& &&& //省级选项值&&& private String[] province = new String[] {"北京","上海","天津","广东"};//,"重庆","黑龙江","江苏","山东","浙江","香港","澳门"};&&& //地级选项值&&& private String[][] city = new String[][] &&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& { "东城区", "西城区", "崇文区", "宣武区", "朝阳区", "海淀区", "丰台区", "石景山区", "门头沟区",&&&&&&&&&&&&&&&&&&&&&&&&&&& "房山区", "通州区", "顺义区", "大兴区", "昌平区", "平谷区", "怀柔区", "密云县",&&&&&&&&&&&&&&&&&&&&&&&&&&& "延庆县" },&&&&&&&&&&&&&&&&&&& { "长宁区", "静安区", "普陀区", "闸北区", "虹口区" },&&&&&&&&&&&&&&&&&&& { "和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "塘沽区", "汉沽区", "大港区",&&&&&&&&&&&&&&&&&&&&&&&&&&& "东丽区" },&&&&&&&&&&&&&&&&&&& { "广州", "深圳", "韶关" // ,"珠海","汕头","佛山","湛江","肇庆","江门","茂名","惠州","梅州",&&&&&&&&&&&&&&&&&&& // "汕尾","河源","阳江","清远","东莞","中山","潮州","揭阳","云浮"&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&& };&&& //县级选项值&&& private String[][][] county = new String[][][] &&&&&&&&&&& {&&&&&&&&&&&&&&&&&&& {&& //北京&&&&&&&&&&&&&&&&&&&&&&& {"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},&&&&&&&&&&&&&&&&&&&&&&& {"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"}&&&&&&&&&&&&&&&&&&& },&&&&&&&&&&&&&&&&&&& {&&& //上海&&&&&&&&&&&&&&&&&&&&&&& {"无"},{"无"},{"无"},{"无"},{"无"}&&&&&&&&&&&&&&&&&&& },&&&&&&&&&&&&&&&&&&& {&&& //天津&&&&&&&&&&&&&&&&&&&&&&& {"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"},{"无"}&&&&&&&&&&&&&&&&&&& },&&&&&&&&&&&&&&&&&&& {&&& //广东&&&&&&&&&&&&&&&&&&&&&&& {"海珠区","荔湾区","越秀区","白云区","萝岗区","天河区","黄埔区","花都区","从化市","增城市","番禺区","南沙区"}, //广州&&&&&&&&&&&&&&&&&&&&&&& {"宝安区","福田区","龙岗区","罗湖区","南山区","盐田区"}, //深圳&&&&&&&&&&&&&&&&&&&&&&& {"武江区","浈江区","曲江区","乐昌市","南雄市","始兴县","仁化县","翁源县","新丰县","乳源县"}& //韶关&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&& };&&& &&& @Override&&& protected void onCreate(Bundle savedInstanceState)&&& {&&&&&&& super.onCreate(savedInstanceState);&&&&&&& setContentView(R.layout.activity_main);&&&&&&& setSpinner();&&& }
&&& &&& /*&&&& * 设置下拉框&&&& */&&& private void setSpinner()&&& {&&&&&&& &&&&&&& provinceSpinner = (Spinner)findViewById(R.id.spin_province);&&&&&&& citySpinner = (Spinner)findViewById(R.id.spin_city);&&&&&&& countySpinner = (Spinner)findViewById(R.id.spin_county);&&&&&&& //绑定适配器和值&&&&&&& provinceAdapter = new ArrayAdapter&String&(MainActivity.this,&&&&&&&&&&&&&&& android.R.layout.simple_spinner_item, province);&&&&&&& provinceSpinner.setAdapter(provinceAdapter);&&&&&&& provinceSpinner.setSelection(3,true);& //设置默认选中项,此处为默认选中第4个值&&&&&&& cityAdapter = new ArrayAdapter&String&(MainActivity.this, &&&&&&&&&&&&&&& android.R.layout.simple_spinner_item, city[3]);&&&&&&& citySpinner.setAdapter(cityAdapter);&&&&&&& citySpinner.setSelection(0,true);& //默认选中第0个&&&&&&& countyAdapter = new ArrayAdapter&String&(MainActivity.this,&&&&&&&&&&&&&&& android.R.layout.simple_spinner_item, county[3][0]);&&&&&&& countySpinner.setAdapter(countyAdapter);&&&&&&& countySpinner.setSelection(0, true);&&&&&&& &&&&&&& //省级下拉框监听&&&&&&& provinceSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()&&&&&&& {
&&&&&&&&&&& // 表示选项被改变的时候触发此方法,主要实现办法:动态改变地级适配器的绑定值&&&&&&&&&&& @Override&&&&&&&&&&& public void onItemSelected(AdapterView&?& arg0, View arg1, int position, long arg3)&&&&&&&&&&& {&&&&&&&&&&&&&&& //position为当前省级选中的值的序号&&&&&&&&&&&&&&& //将地级适配器的值改变为city[position]中的值&&&&&&&&&&&&&&& cityAdapter = new ArrayAdapter&String&(&&&&&&&&&&&&&&&&&&&&&&& MainActivity.this, android.R.layout.simple_spinner_item, city[position]);&&&&&&&&&&&&&&& // 设置二级下拉列表的选项内容适配器&&&&&&&&&&&&&&& citySpinner.setAdapter(cityAdapter);&&&&&&&&&&&&&&& provincePosition =&&& //记录当前省级序号,留给下面修改县级适配器时用&&&&&&&&&&& }
&&&&&&&&&&& @Override&&&&&&&&&&& public void onNothingSelected(AdapterView&?& arg0)&&&&&&&&&&& {&&&&&&&&&&& }&&&&&&& });&&&&&&& &&&&&&& //地级下拉监听&&&&&&& citySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()&&&&&&& {
&&&&&&&&&&& @Override&&&&&&&&&&& public void onItemSelected(AdapterView&?& arg0, View arg1,&&&&&&&&&&&&&&&&&&& int position, long arg3)&&&&&&&&&&& {&&&&&&&&&&&&&&& countyAdapter = new ArrayAdapter&String&(MainActivity.this,&&&&&&&&&&&&&&&&&&&&&&& android.R.layout.simple_spinner_item, county[provincePosition][position]);&&&&&&&&&&&&&&& countySpinner.setAdapter(countyAdapter);&&&&&&&&&&& }
&&&&&&&&&&& @Override&&&&&&&&&&& public void onNothingSelected(AdapterView&?& arg0)&&&&&&&&&&& {&&&&&&&&&&& }&&&&&&& });&&& }}要获取下拉框spinner中选中的值,用下面这方法就OK了
provinceSpinner.getSelectedItem().toString();
citySpinner.getSelectedItem().toString();
countySpinner.getSelectedItem().toString();

我要回帖

更多关于 下拉列表菜单 的文章

 

随机推荐