• Android之UI控件


    本文主要包括以下内容

    1. Spinner的使用
    2. Gallery的使用

    Spinner的使用

    Spinner的实现过程是
    1. 在xml文件中定义Spinner的控件
    2. 在activity中获取Spinner控件
    3. 定义Spinner下拉列表项数组并将下拉项的内容添加到这个数组中,通过这个数组建立一个下拉列表的适配器
    4. 将上3中的适配器配置给获取的Spinner控件
    5. 设置下拉列表的显示样式
    6. 为获得的Spinner控件添加事件监听

    在XML文件中定义

    //在主XML中<include android:id="@+id/sp_chose" layout="@layout/spinner_down"/>
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
             android:layout_height="30dip"
             android:orientation="horizontal"
             android:background="@drawable/filter_bg"
             android:layout_marginTop="5dip"
             android:layout_marginLeft="5dip"
             android:layout_marginRight="5dip">
    
            <Spinner
                 android:id="@+id/nearby_distance_spinner"
                 style="@style/nearby_spinner_style" />
            <Spinner
                 android:id="@+id/nearby_class_spinner"
                 style="@style/nearby_spinner_style" />
            <Spinner
                 android:id="@+id/nearby_away_spinner"
                 style="@style/nearby_spinner_style" />
    
    
    </LinearLayout>

    其中背景图片为

    这里写图片描述

    nearby_spinner_style为

    <style name="nearby_spinner_style">
            <item name="android:layout_width">0.0dip</item>
            <item name="android:layout_height">wrap_content</item>
            <item name="android:background">@null</item>
            <item name="android:layout_marginTop">6dip</item>
            <item name="android:layout_weight">1.0</item>
        </style>

    找到Spinner并初始化适配器

    private void init() {
            // TODO Auto-generated method stub
            topText=(TextView) findViewById(R.id.tv_chose_shop);
            topText.setText(getIntent().getStringExtra("type"));
            disSpi=(Spinner) findViewById(R.id.nearby_distance_spinner);
            claSpi=(Spinner) findViewById(R.id.nearby_class_spinner);
            awaySpi=(Spinner) findViewById(R.id.nearby_away_spinner);
    
             disAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, DIS_DATE);
             claAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, CLASS_DATE);
             awayAdapter=new ArrayAdapter<String>(this, R.layout.nearby_spinner_text, AWAY_DATE);
    
    
    
        }

    其中nearby_spinner_text为

    <?xml version="1.0" encoding="utf-8"?>
    
     <TextView xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@android:id/text1"
         style="?android:attr/spinnerDropDownItemStyle"
         android:singleLine="true"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:gravity="center_vertical"
         android:textColor="#ffffff"
         android:textSize="12sp"/>

    设置下拉列表的显示样式并且将适配器配置给spinner

    //设置列表项显示风格为完全显示
        disAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            claAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            awayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    
            disSpi.setAdapter(disAdapter);
            claSpi.setAdapter(claAdapter);
            awaySpi.setAdapter(awayAdapter);
    
            disSpi.setSelection(2);
            claSpi.setSelection(0);
            awaySpi.setSelection(0);

    设置监听事件

    disSpi.setOnItemSelectedListener(new OnItemSelectedListener() {
    
                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), DIS_DATE[position], 0).show();
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    // TODO Auto-generated method stub
    
                }
    
            });

    完成,效果如下

    这里写图片描述
    这里写图片描述

  • 相关阅读:
    《c++primer》笔记 第3章 字符串、向量和数组
    如何下载Jason2测高数据
    《c++primer》笔记 第2章 变量和基本类型
    《c++primer》笔记 第1章 开始
    VMware打开vmx文件无响应
    Qt5.6.0连接SQL Server 2008
    Qt5.6.0(32位)编译SQLServer驱动(ODBC)(vs2013)
    Qt中操作数据库例子-插入数据
    《UNIX网络编程卷1》第一例及问题
    UVa 1225 Digit Counting
  • 原文地址:https://www.cnblogs.com/jjx2013/p/6223716.html
Copyright © 2020-2023  润新知