zoukankan      html  css  js  c++  java
  • android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式

    在Android中Spinner就是下拉菜单和AutoCompleteTextView自动显示的样式,它相当于HTML中的<select>标签。
    Android中提供的Spinner Widget下拉菜单和AutoCompleteTextView自动显示已经非常好用了,样式也适用,
    不过我们还是可以通过定义xml的方式来改变下拉菜单的样式。
    在layout目录下新建一个xml文件,名字随便(我这里叫activity_main.xml)。在这个文件里面可以定义下拉菜单的样式
    我们这里采用TextView来实现。

    activity_main.xml:

    View Code
    复制代码
     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:background="#000000"
     6     tools:context=".MainActivity" >
     7 
     8     <AutoCompleteTextView
     9         android:id="@+id/actv"
    10         android:layout_width="fill_parent"
    11         android:layout_height="wrap_content" />
    12 
    13 </RelativeLayout>
    复制代码

    自定义的样式就是在layout下建立一个xml文件,名字这里我随便起。代码如下:

    down.xml:

    View Code
    复制代码
    1 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    2     xmlns:tools="http://schemas.android.com/tools"
    3     android:id="@+id/contentTextView"
    4     android:layout_width="fill_parent"
    5     android:layout_height="wrap_content"
    6     android:background="#F4FDFF"
    7     android:textColor="#000000" >
    8 
    9 </TextView>
    复制代码

    在activity中的调用方法如下:

    View Code
    复制代码
     1 package com.example.autocompletetextvewtest;
     2 
     3 import java.util.List;
     4 
     5 import android.app.Activity;
     6 import android.os.Bundle;
     7 import android.view.Menu;
     8 import android.widget.ArrayAdapter;
     9 import android.widget.AutoCompleteTextView;
    10 
    11 public class MainActivity1 extends Activity {
    12     private AutoCompleteTextView actv;
    13 
    14     @Override
    15     protected void onCreate(Bundle savedInstanceState) {
    16         super.onCreate(savedInstanceState);
    17         setContentView(R.layout.activity_main);
    18         String[] strings = new String[] { "北京", "北京西站", "北京南站", "上海", "上海浦东机场" };
    19         actv = (AutoCompleteTextView) findViewById(R.id.actv);
    20         // 第二个参数是样式的Layout布局id,第三个参数是:显示具体样式的TextView的id
    21         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    22                 R.layout.down, R.id.contentTextView, strings);
    23         actv.setThreshold(1);
    24         actv.setAdapter(adapter);
    25     }
    26 
    27     @Override
    28     public boolean onCreateOptionsMenu(Menu menu) {
    29         getMenuInflater().inflate(R.menu.activity_main, menu);
    30         return true;
    31     }
    32 
    33 }
    复制代码
  • 相关阅读:
    阻止默认时间
    键盘事件
    提示框跟随鼠标移动
    世纪经典案例之万年历
    事件冒泡
    事件对象
    java 面向对象(三十八):反射(二) Class类的理解与获取Class的实例
    java 面向对象(三十九):反射(三)了解ClassLoader
    java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构
    java 面向对象(四十):反射(四)反射应用一:创建运行时类的对象
  • 原文地址:https://www.cnblogs.com/loonggg/p/4981848.html
Copyright © 2011-2022 走看看