A09_Spinner(下拉列表)自定义设置

Spinner控件是一个下拉列表
1.实现Spinner的系统默认设置
2.实现自定义设置:
3.使用的监听器接口是:OnItemSelectedListener

系统默认设置效果:
 
自定义设置效果:
由于只设置显示的是一个TextView所以效果比较难看,还可以优化。这里重新定义了下拉列表的样式,使用list.xml。
 
activity_main.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"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textViewId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试:"
android:layout_alignParentLeft="true" />
<Spinner
android:id="@+id/spinner"
android:layout_below="@id/textViewId"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>

list.xml代码:


代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/list_textViewId"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

strings.xml代码:


代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">A09_Spinner</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string-array name="ThreeDays">
<item >昨天</item>
<item >今天</item>
<item >明天</item>
</string-array>
</resources>

java代码:


代码如下:

package com.haut.a09_spinner;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Spinner spinner;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner)findViewById(R.id.spinner);
textView = (TextView)findViewById(R.id.textViewId);
//创建一个ArrayAdapter
//静态使用xml文件设置下拉列表内容
/**
* ArrayAdapter参数说明:
* 第一个:上下文对象
* 第二个:下拉菜单数据来源的id
* 第三个:下拉菜单的样式,这里使用了android标准下拉菜单的样式
*/
//ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.ThreeDays, android.R.layout.simple_spinner_item);
//调用setDropDownViewResource()方法设置下拉列表每一个选项的样式,这里也是用Android标准样式
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//动态设置下拉列表内容
List<String> list = new ArrayList<String>();
list.add("昨天");
list.add("今天");
list.add("明天");
/**
* 参数
* 第一个:上下文对象
* 第二个:自定义下拉菜单的选项的样式
* 第三个:自定义下拉菜单选项控件的样式id
* 第四个:列表数据
*/
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list,R.id.list_textViewId,list);
//为spinner添加适配器
spinner.setAdapter(adapter);
//设置Spinner下拉列表的标题··
spinner.setPrompt("只有这三天");
//为spinner绑定监听器
spinner.setOnItemSelectedListener(new SpinnerListener());
}
//该监听器用于监听用户多spinner的操作
class SpinnerListener implements OnItemSelectedListener{
//当用户选择先拉列表中的选项时会调用这个方法
/**
*参数说明:
*第一个:当前的下拉列表,也就是第三个参数的父view
*第二个:当前选中的选项
*第三个:所选选项的位置
*第四个: 所选选项的id
*/
public void onItemSelected(AdapterView<?> adapterView, View view, int position,
long id) {
//获取用户所选的选项内容
String selected = "您的选择是:"+adapterView.getItemAtPosition(position).toString();
textView.setText(selected);
Toast.makeText(MainActivity.this, selected, Toast.LENGTH_SHORT).show();
}
//当用户不做选择时调用的该方法
public void onNothingSelected(AdapterView<?> arg0) {
Toast.makeText(MainActivity.this, "您没有选择任何选项", Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

(0)

相关推荐

  • A09_Spinner(下拉列表)自定义设置

    Spinner控件是一个下拉列表 1.实现Spinner的系统默认设置 2.实现自定义设置: 3.使用的监听器接口是:OnItemSelectedListener 系统默认设置效果:  自定义设置效果: 由于只设置显示的是一个TextView所以效果比较难看,还可以优化.这里重新定义了下拉列表的样式,使用list.xml.  activity_main.xml代码: 复制代码 代码如下: <RelativeLayout xmlns:android="http://schemas.andro

  • Android程序开发之自定义设置TabHost,TabWidget样式

    先看效果: 京东商城底部菜单栏 新浪微博底部菜单栏 本次学习效果图: 第一,主布局文件(启动页main.xml,位于res/layout目录下)代码 <?xml version="." encoding="utf-"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_paren

  • pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法

    我相信绝大多数小伙伴在自学python时,运用pycharm进行编写程序时发现字体太小不方便进行编写,通常像codeblocks这样的编程软件可以通过"ctrl+滚轮"进行放大和缩小.而今天要解释的pycharm通过这种方式却很难实现.显然可以通过设置来固定字体大小,但是每次都要进行设置,比较麻烦,下面介绍一下如何自定义设置通过"ctrl+滚轮"进行放大和缩小. 1.打开pycharm中左上角找到File->setting->Keymap->搜索框

  • Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)

    有时候我们传.py文件给别人时,需要添加一些文件头注释.为了不用每次新建文件时都去手动添加作者.创建日期等信息,我们可以设置一套模板,在新建.py文件的时候自动使用这套模板. 一. 模板设置 1.1 操作步骤 打开pycharm后,点击 File --> Settings ,进入设置界面 点击 Editor --> File and Code Templates --> Python Script 在右侧添加上你想注释的内容,如下图所示 代码模板如下(可以根据自己需要进行修改) #!/u

  • C# WinForm中实现快捷键自定义设置实例

    本文源码下载:http://xiazai.jb51.net/201501/tools/cs-key-setting.rar 项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示: 当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中. 最终的效果如下图所示: 核心代码如下所示: 复制代码 代码如下: private void keyDown(object sender, KeyEventArgs e) {     StringBuilder ke

  • element-ui中的select下拉列表设置默认值方法

    element-ui中的select下拉列表如何设置默认值? 在element-ui的运用中,涉及到了select下拉列表.项目中需要将select的默认值给展示出来 那如何修改呢? 上element-ui中的代码片段 <template> <el-select v-model="value" placeholder="请选择"> <el-option v-for="item in options" :key=&qu

  • ExtJS中设置下拉列表框不可编辑的方法

    ExtJS这个框架,并没有学习和用过,只知道是一个流行的前段框架,和Easy UI,BUI,DWZ等这些框架都是差不多的,只不过比他们更加强大而已,之所以写这个,我觉得还是很有帮助的. 今天朋友遇到了一个问题:ExtJS中的下拉列表如何设置不可编辑的,html中是不可以编辑的,但是现在这种UI框架中的下拉列表框都是可以编辑的,朋友的需求就是像html中的那样效果,所以朋友想到了用editable属性,但是写了这个属性之后就报错了,当时并没有看错误,我给他找了1个属性设置为不可编辑的,但是还是不好

  • Windows Vista 宽屏LCD提供的支持 与设置方法第1/2页

    Windows Vista对宽屏LCD提供了完备的支持,有不少Vista用户都将在1450×900以上分辨率的LCD中使用Vista操作系统,因此微软提供了更为强大方便的Vista中文雅黑字体DPI调整,允许用户根据不同的应用进行改变. Vista试用平台: Intel Core 2 Duo E6300 GeIL DDR2-800 1GB×2 MSI 945 Neo 3 MSI 1950XT 步骤如下: 1. 在桌面上单击右键-- 选择"个性化"--进入个性化设置对话窗口 2.点击&q

  • Android实现自定义的弹幕效果

    一.效果图 先来看看效果图吧~~ 二.实现原理方案 1.自定义ViewGroup-XCDanmuView,继承RelativeLayout来实现,当然也可以继承其他三大布局类哈 2.初始化若干个TextView(弹幕的item View,这里以TextView 为例,当然也可以其他了~),然后通过addView添加到自定义View中 3.通过addView添加到XCDanmuView中,位置在坐标,为了实现 从屏幕外移动进来的效果 我们还需要修改添加进来TextView的位置,以从右向左移动方向

  • Android中自定义Checkbox组件实例

    在Android中,Checkbox是一个很重要的UI组件,而且在Android中,它展现的形式越来越好看,这就说明有些系统,比如4.0以下,checkbox还是比较不好看,或者跟软件的风格不协调,就需要我们自定义这个组件. 自定义这个组件很简单,简单的增加修改xml文件即可. 准备工作 准备好两张图片,一个是选中的图片,另一个是未选中的图片.本文以checked.png和unchecked.png为例. 设置选择框 在drawable下新建文件custom_checkbox.xml 复制代码

随机推荐