Code Bye

用过android的spinner 的朋友,都过来帮忙看看呗。

本人要做一个android软件,里面用到了spinner 下拉控件。

为什么别人用到的spinner 右边是一个倒三角 

而我的是

到底是什么问题呢?望遇到过这种问题的朋友,给点提示。

java代码如下:

package com.example.b;

import com.example.b.R;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class MainActivity extends Activity {

private static final String[] mCountries ={“China1″,”China2″,”China3″,”China4″,”China5″,”China6″};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Spinner sp1 =(Spinner)findViewById(R.id.spinner1);

ArrayAdapter<String> ad= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,mCountries);
ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(ad);
}

}

xml代码如下:
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”.MainActivity” >

<Spinner
android:id=”@+id/spinner1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
style=”@android:attr/spinnerDropDownItemStyle”/>

</RelativeLayout>

ps:我知道“style=”@android:attr/spinnerDropDownItemStyle”/” 是设置spinner样式的,可是,在我这里,有没有这句话,样式都不变。

15分

#1

如果别人的倒3角不是系统样式的话,那么可能是自定义的样式

#2

回复1楼:

照你的意思,我是不是该先查一下spinner的系统样式啊,
在哪里查啊?

#3

回复2楼:

在style.xml里,不指明就是系统默认样式。没有研究过是否有其他系统样式。
你看到别人的倒3角是在哪里看的。看下它用的是什么样式?

5分

#4

以前的Spinner是这种倒三角的样式。4.0以后就换成你这种样式了。
想要以前那种你可以自定义Spinner。

#5

谢谢楼上的答复,可是,我查过style.xml文件,文件如下,
没有对spinner的样式设定。
照理说有三角的那个样式,应该是默认样式吧,还用我自己添加一下?

<?xml version=”1.0″ encoding=”utf-8″?>
<resources>

<!–
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
–>
<style name=”AppBaseTheme” parent=”android:Theme.Light”>
<!–
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.

–>
</style>

<!– Application theme. –>
<style name=”AppTheme” parent=”AppBaseTheme”>
<!– All customizations that are NOT specific to a particular API-level can go here. –>
</style>

<style name=”FullscreenTheme” parent=”android:Theme.NoTitleBar”>
<item name=”android:windowContentOverlay”>@null</item>
<item name=”android:windowBackground”>@null</item>
</style>

<style name=”ButtonBar”>
<item name=”android:paddingLeft”>2dp</item>
<item name=”android:paddingTop”>5dp</item>
<item name=”android:paddingRight”>2dp</item>
<item name=”android:paddingBottom”>0dp</item>
<item name=”android:background”>@android:drawable/bottom_bar</item>
</style>

<style name=”ButtonBarButton” />

</resources>

#6

回复4楼:

再次麻烦你一下,如何给现在的spinner 设置样式啊。

XML里“style=”@android:attr/spinnerDropDownItemStyle” ”是这么写吗?
java里“ArrayAdapter<String> ad= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,mCountries);” 是怎么写吗?

我的代码里都有啊

5分

#7

系统问题,一般都会自定义的

#8

style=”@android:attr/spinnerDropDownItemStyle”定义的是你点击Spinner以后弹出来的这些可选项的样式。
android.R.layout.simple_spinner_item才是你这个Spinner的样式。你可以试一下系统自带的其他样式

#9

回复8楼:

我已经把我之前的改成“android.R.layout.select_dialog_singlechoice” 可是样子变成,
依旧没有我要的倒三角。

#10

楼主就不要纠结系统的这个倒3角了。
应该是4.0之前的就是默认的倒3角样式,4.0之后改成这种样式.
如果楼主非要倒3角,只好自己写。
看源码就知道,其实那个就是个textview来的.搞点背景图片就可以,不会很复杂.
你不是看到别人的是倒3角吗?如果别人的也是4.0的,肯定也是自己定义的,你可以抠他的图片用用。

#11

555555555555
不是我不想用textview做,而是我真的不会啊,
才学JAVA没几天。

#12

回复11楼:

那你就不要纠结这个,系统自带的,就有自带的道理。
如果你实在看不下去。等你学会了再改。
一直纠结这个,其他的东西又的拖延了

10分

#13

倒三角的那是2.3系统之前的样式,后面的那个是4.0系统出来后系统的样式

#14

支持一下。
5分

#15

系统的问题  何必纠结这一点问题  2.3以前倒三角 之后的都是下三角了 要不就自定义

#16

花几个小时,找到问题了,问题在于manifest的 style,当你用HOLO系的style时就不是倒三角,用别的就是

#17

这肯定是自定义样式

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用过android的spinner 的朋友,都过来帮忙看看呗。