zoukankan      html  css  js  c++  java
  • Android入门教程(十三)之自定义下拉菜单模式Spinner与setDropDownViewResource的应用(转)

    大家好,我们这一节讲一下Android下的下拉菜单Spinner,就像是Swing的Combobox,html的<select>,由于手机画面有限,要在有限的范围选择项目,下拉菜单是比较好的选择.

    Android提供的Spinner Widget的下拉菜单已经非常好用了,样式也还适用.但我们本节的Demo的重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样.

    Step 1: 创建一个新的Android 工程, 我们命名为SpinnerDemo .

    Step 2 :打开layout 文件夹,找到main.xml 将其内容改为:

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:padding="10dip"


    android:layout_width="fill_parent"

    android:layout_height="wrap_content">

    <TextView

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:layout_marginTop="10dip"

    android:text="Please select a planet:"



    />

    <Spinner

    android:id="@+id/spinner"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:drawSelectorOnTop="true"

    android:prompt="@string/planet_prompt"


    />



    </LinearLayout>

    注意:


    the Spinner's android:prompt



    is a string resource. In this case, Android does not allow it to be a string, it must

    be a reference to a resource. So...



    Step 3
    :找到在res/values/string.xml,
    在里面加入如下(黑体
    )一行:



    <?xml version="1.0" encoding="utf-8"?>

    <resources>

    <string name="hello">Hello World, SpinnerDemo!</string>

    <string name="app_name">SpinnerDemo</string>

    <string name="planet_prompt">Choose a planet</string>


    </resources>



    Step 4
    :在res/values/
    文件夹下创建一个xml
    文件,命名为arrays.xml:




    <resources>


    <string-array name="planets">


    <item>Mercury</item>

    <item>Venus</item>

    <item>Earth</item>

    <item>Mars</item>

    <item>Jupiter</item>

    <item>Saturn</item>

    <item>Uranus</item>

    <item>Neptune</item>

    </string-array>


    </resources>


    这是用户可以从Spinner Widget选择list 的选择项.



    Step5
    :打开SpinnerDemo.java
    ,编辑内容如下:



    package com.android.test;

    import android.app.Activity;

    import android.os.Bundle;

    import android.widget.ArrayAdapter;

    import android.widget.Spinner;



    public class SpinnerDemo
    extends Activity{

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    Spinner s = (Spinner) findViewById(R.id.spinner);

    ArrayAdapter adapter = ArrayAdapter.createFromResource(

    this, R.array.planets, android.R.layout.simple_spinner_item)



    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    s.setAdapter(adapter);



    }

    }



    step 6:
    最后run it
    (运行之)效果如下:





    搞定,让大家 久等了,终于把日语搞定了..Android,英语,我来了!!!!

  • 相关阅读:
    iOS的图片:解码(CPU)与内存(缓存)
    iOS离屏渲染的解释:渲染与cpu、gpu
    渲染、render与绘制
    算法沉思:算法的构成
    待阅备份
    iOS进阶之页面性能优化
    iOS--性能优化--保持界面流畅
    iOS开发中的Markdown渲染
    OS开发小记:iOS富文本框架DTCoreText在UITableView上的使用
    iOS UI的几种模式
  • 原文地址:https://www.cnblogs.com/l_dragon/p/2132678.html
Copyright © 2011-2022 走看看