android中spinner
A. 如何更改android spinner 背景
1、准备两张图片,并做好9.png
2、在drawable中定义spinner_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="@drawable/spinner_press" /><!--按下时效果-->
<item android:state_pressed="false"
android:drawable="@drawable/spinner" /><!--默认效果-->
</selector>
3、style中定义
<!-- spinner -->
<style name="spinner_style">
<item name="android:background">@drawable/spinner_selector</item>
<item name="android:paddingLeft">5dip</item>
</style>
4、调用
<Spinner
android:id="@+id/field_item_spinner_content"
style="@style/spinner_style"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:animationCache="true"
android:drawSelectorOnTop="true" />
5、在layout中定义simple_spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:gravity="center_vertical"
android:textColor="#808080"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
6、java代码
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, R.layout.simple_spinner_item);
String level[] = getResources().getStringArray(R.array.affair_level);//资源文件
for (int i = 0; i < level.length; i++) {
adapter.add(level[i]);
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
B. android spinner怎么用
android中的spinner控件是表示下拉菜单的意思,按照如下步骤使用:
1、首先使用Android studio创建一个项目,如下图:
4、最后去类中绑定控件,并添加数据即可使用。
C. android中的spinner.setOnItemSelectedListener监听问题
spinner中列表的第一项是默认被选中的,所以一进来就会执行监听事件。
你可以让第一项不被选中,spinner2.setSelection(0, false).
D. android中如何将下拉列表中获取的值放到其他函数中
1.下拉列表使用Spinner。
2.布局:
<Spinner android:id="@+id/Spinner01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
3.实现
1)新增选择内容:String[] m={"A型","B型","O型","AB型","其他"};
2)初始化设配器:
private ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置下拉列表的风格
spinner.setAdapter(adapter);//将adapter 添加到spinner中
spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); //添加事件Spinner事件监听
3)新建Spinner监听器
class SpinnerSelectedListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
view.setText("你选择的值:"+m[arg2]);//设置编辑框为获取到的选择值
}
public void onNothingSelected(AdapterView<?> arg0) {
}
}
E. android spinner是什么
Android中的Spinner是一个用户界面组件,允许用户从一系列预定义的选项中选择一个。以下是关于Android Spinner的详细解答:
1. 主要功能与特点:
- 节省屏幕空间:Spinner类似于下拉列表,但它在未展开时不会显示所有选项,从而节省了屏幕空间。
- 数据源绑定:Spinner可以绑定到一个数组、列表或任何实现了Cursor接口的数据源,这使得数据的管理和更新变得更加方便。
2. 布局与定义:
- 布局文件:在Android的布局文件中,Spinner通常使用<Spinner>标签来定义。开发者可以在XML文件中指定Spinner的位置、大小和其他属性。
3. 用户交互:
- 展开与收起:用户可以通过点击Spinner旁边的箭头按钮来展开或收起选项列表。这种交互方式使得Spinner在用户界面上既简洁又实用。
4. 事件监听与处理:
- 事件监听:Spinner支持事件监听功能。当用户选择一个选项时,开发者可以通过设置一个OnItemSelectedListener来处理这一事件,从而执行相应的逻辑操作。
5. 应用场景:
- 表单选项:在表单中提供选项选择,如性别、职业等。
- 列表筛选:在列表视图中提供筛选功能,允许用户通过选择筛选条件来过滤列表项。
- 设置界面:在设置界面中提供配置选项,如语言选择、主题设置等。
6. 发展趋势:
- 逐渐被取代:随着Android版本的更新和技术的发展,Spinner逐渐被RecyclerView和SpinnerAdapter等更灵活的组件所取代。这些新组件提供了更强大的功能和更好的性能表现。
- 广泛应用:尽管如此,Spinner仍然在一些旧的应用程序和简单的UI设计中被广泛使用,特别是在需要节省屏幕空间并提供下拉选择功能的场景中。
F. Android 怎么动态的设置Spinner联动
重写一下Adapter,然后自己对Adapter每个Item布局,在布局里面设置一下点击效果就行了。如:
public class MainActivity extends Activity {
private Spinner mSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView(){
mSpinner = (Spinner)findViewById(R.id.spinner);
MyAdapter adapter = new MyAdapter(getResources().getStringArray(R.array.girl_names));
mSpinner.setAdapter(adapter);
}
private class MyAdapter extends BaseAdapter{
private String[] idInt ;
public MyAdapter(String[] idInt){
this.idInt = idInt;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return idInt.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return idInt[arg0];
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
if(arg1 == null){
arg1 = getLayoutInflater().inflate(R.layout.spinner_item, null);
}
TextView text = (TextView)arg1.findViewById(R.id.spinner_item_id);
text.setText(idInt[arg0]);
return arg1;
}
}
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/text_selector"
android:orientation="vertical" >
<TextView
android:layout_margin="10dip"
android:id="@+id/spinner_item_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" >
</TextView>
</LinearLayout>
然后:text_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@android:color/black"></item>
<item android:state_pressed="false" android:drawable="@android:color/transparent"></item>
</selector>