
我只是无法让它正常工作.我最终(白盒子是测试资产):
显示了新的9补丁,但是它弄乱了填充,它看起来像一个Spinner内的Spinner.
这是没有添加9补丁的情况:
这就是我想要的样子,但是后来使用新的9patch而不是旧的,而不是Spinner的Spinner效果.
这是我的代码:
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="horizontal" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"> <Spinner xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:ID="@+ID/spinner2" androID:layout_wIDth="wrap_content" androID:layout_height="fill_parent" androID:layout_alignParentRight="true" androID:gravity="center_horizontal"/></relativeLayout>
我将此relativeLayout添加到Actionbar,并设置自定义微调器适配器:
SpinnerAdapter mSpinnerAdapter = (new SpinnerCustomAdapterDark(this,R.layout.customSpinnerTitleLayout,categorynames )); spinner = findVIEwByID(R.ID.spinner2); categorySpinnerMenuitem = (Spinner) spinner; categorySpinnerMenuitem.setAdapter(mSpinnerAdapter);
这是设置为适配器的CustomSpinnerTitleLayout:
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:paddingRight="0dp" > <ImageVIEw androID:ID="@+ID/spinner_image" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:src="@drawable/icon" androID:layout_gravity="center" androID:paddingRight="0dp" /></linearLayout>
这是我添加9补丁的主题
<resources> <style name="Customtheme" parent="@style/theme.AppCompat.light.DarkActionbar"> <item name="androID:spinnerDropDownItemStyle">@style/customActionbarDropDownStyle</item> </style> <style name="customActionbarDropDownStyle" parent="@androID:style/Widget.Holo.light.ListVIEw" > <item name="androID:background">@drawable/spinner9patch</item> </style></resources>
我显然做错了什么,但是什么?我试图在第一个布局文件中的Spinner处设置spinnerDropDownItemStyle和spinnerStyle,什么都没做.我在这做错了什么?
提前致谢!!
解决方法 在可绘制文件夹中使用任何名称创建XML,例如spinner_bg.xml,并添加以下行<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item><@R_960_3419@> <item><shape> <gradIEnt androID:angle="90" androID:endcolor="#ffffff" androID:startcolor="#ffffff" androID:type="linear" /> <stroke androID:wIDth="1dp" androID:color="#504a4b" /> <corners androID:radius="5dp" /> <padding androID:bottom="3dp" androID:left="3dp" androID:right="3dp" androID:top="3dp" /> </shape></item> <item ><bitmap androID:gravity="bottom|right" androID:src="@drawable/spinner_ab_default_holo_dark_am" /> // you can use any other image here,instead of default_holo_dark_am </item> </@R_960_3419@></item> </selector>
将以下行添加到styles.xml文件夹内的styles.xml中
<style name="spinner_style" > <item name="androID:background">@drawable/spinner_bg</item> <item name="androID:layout_marginleft">10dp</item> <item name="androID:layout_marginRight">10dp</item> <item name="androID:layout_marginBottom">10dp</item> <item name="androID:paddingleft">8dp</item> <item name="androID:paddingtop">5dp</item> <item name="androID:paddingBottom">5dp</item>
现在将此样式添加到您的微调器中
<Spinner androID:ID="@+ID/spinner1" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:popupBackground="#cccccc" />总结
以上是内存溢出为你收集整理的Android – 更改Custom Spinner的DropDownItem样式全部内容,希望文章能够帮你解决Android – 更改Custom Spinner的DropDownItem样式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)