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 }

    这就完事了!

  • 相关阅读:
    linux驱动开发学习一:创建一个字符设备
    如何高效的对有序数组去重
    找到缺失的第一个正整数
    .NET不可变集合已经正式发布
    中国人唯一不认可的成功——就是家庭的和睦,人生的平淡【转】
    自己动手搭建 MongoDB 环境,并建立一个 .NET HelloWorld 程序测试
    ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
    自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试
    ServiceStack 介绍
    一步一步实战扩展 ASP.NET Route,实现小写 URL、个性化 URL
  • 原文地址:https://www.cnblogs.com/loonggg/p/2875449.html
Copyright © 2011-2022 走看看