Android – 更改Custom Spinner的DropDownItem样式

Android – 更改Custom Spinner的DropDownItem样式,第1张

概述我有一个自定义微调器,我正在尝试替换DropDownSelector中的9补丁背景/三角形. 我只是无法让它正常工作.我最终(白盒子是测试资产): 显示了新的9补丁,但是它弄乱了填充,它看起来像一个Spinner内的Spinner. 这是没有添加9补丁的情况: 这就是我想要的样子,但是后来使用新的9patch而不是旧的,而不是Spinner的Spinner效果. 这是我的代码: <Relative 我有一个自定义微调器,我正在尝试替换DropDownSelector中的9补丁背景/三角形.

我只是无法让它正常工作.我最终(白盒子是测试资产):

显示了新的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样式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1122667.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存