• View(视图)——AutoCompleteTextView 、Spinner和消息提示


    一.AutoCompleteTextView 自动提示文本输入框

       1.属性:不区分大小写。

       2.ArrayAdapter  适配器

          数据源是String[ ]或集合,保存要提示的文本;layout文件。

       3.completionThreshold:设置提示需要的最少字符数,默认是2。

    二.Spinner 下拉列表

       1.ArrayAdapter  适配器

          数据源是String[ ]或集合,保存要提示的文本;layout文件。

       2.监听器   AdapterView.OnItemSelectedListener()

         1-void onItemSelected(AdapterView<?> parent, View view, int position, long id)

         2-void onNothingSelected(AdapterView<?> parent)

    三.消息提示

       1.Toast

         1-makeText(),构建并返回Toast;

            1>context

            2>消息内容

            3>显示时间长短:Toast.LENGTH_SHORT 短  /  Toast.LENGTH_LONG 长。

         2-show()  显示

       2.Notification 状态消息栏(可以跳转到Activity上)

         1-得到NotificationManager

            1>(NotificationManager)getSystemService(NOTIFICATION_SERVICE)

            2>NotificationManager是系统内置的Service

         2-构建Notification

            new Notification.Builder()   构建器

            1>setContentTitle  设置内容标题

            2>setContentText  设置内容文本

            3>setSmallIcon   设置图标

            4>setTicker  设置状态栏提示

            5>setDefaults   设置提示方式 :Notification.DEFAULT_SOUND  声音,其他需要授权。

            6>setAutoCancel   设置是否点击跳转后自动消失:默认是 true。

            7>setContentIntent   设置内容意图

               <1>创建Intent

               <2>生成 PendingIntent   pi  =  PendingIntent.getActivity(context, 0 请求码, intent 意图, 0  标记);

            8>build( )  创建并返回Notification

         3-由NotificationManager发送消息

            notify(id,消息);

    代码及效果图展示:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:paddingBottom="@dimen/activity_vertical_margin"
     7     android:paddingLeft="@dimen/activity_horizontal_margin"
     8     android:paddingRight="@dimen/activity_horizontal_margin"
     9     android:paddingTop="@dimen/activity_vertical_margin"
    10     tools:context="com.example.wang.testapp2.TestActivity11"
    11     android:orientation="vertical">
    12 
    13     <AutoCompleteTextView
    14         android:layout_width="match_parent"
    15         android:layout_height="wrap_content"
    16         android:hint="请输入..."
    17         android:id="@+id/at_1"
    18         android:completionThreshold="1"/>
    19 
    20     <LinearLayout
    21         android:layout_width="match_parent"
    22         android:layout_height="wrap_content">
    23         <TextView
    24             android:layout_width="wrap_content"
    25             android:layout_height="wrap_content"
    26             android:text="学历:"/>
    27 
    28         <Spinner
    29         android:layout_width="0dp"
    30         android:layout_weight="1"
    31         android:layout_height="wrap_content"
    32         android:id="@+id/sp_1"></Spinner>
    33     </LinearLayout>
    34 
    35     <Button
    36         android:layout_width="match_parent"
    37         android:layout_height="wrap_content"
    38         android:text="发送状态栏消息"
    39         android:onClick="bt_OnClick"/>
    40 </LinearLayout>
    .xml
     1 package com.example.wang.testapp2;
     2 
     3 import android.app.Notification;
     4 import android.app.NotificationManager;
     5 import android.app.PendingIntent;
     6 import android.content.Intent;
     7 import android.support.v7.app.AppCompatActivity;
     8 import android.os.Bundle;
     9 import android.view.View;
    10 import android.widget.AdapterView;
    11 import android.widget.ArrayAdapter;
    12 import android.widget.AutoCompleteTextView;
    13 import android.widget.Spinner;
    14 import android.widget.Toast;
    15 
    16 public class TestActivity11 extends AppCompatActivity {
    17 
    18     AutoCompleteTextView at_1;
    19 
    20     Spinner sp_1;
    21 
    22     @Override
    23     protected void onCreate(Bundle savedInstanceState) {
    24         super.onCreate(savedInstanceState);
    25         setContentView(R.layout.activity_test11);
    26 
    27         at_1=(AutoCompleteTextView)findViewById(R.id.at_1);
    28         sp_1=(Spinner)findViewById(R.id.sp_1);
    29 
    30         //准备数据源
    31         String [] strings={"abc","and","bea","car","abcde","AAAaaa","anddd"};
    32 
    33         //准备适配器
    34         ArrayAdapter<String> aa=new ArrayAdapter<String>(this,R.layout.array_adapter,strings);
    35 
    36         //给组件设置适配器
    37         at_1.setAdapter(aa);
    38 
    39         //下拉列表
    40         final String [] xl={"高中","专科","本科","硕士","博士"};
    41 
    42         ArrayAdapter<String> sp=new ArrayAdapter<String>(this,R.layout.array_adapter,xl);
    43 
    44         sp_1.setAdapter(sp);
    45 
    46         //监听器
    47         sp_1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    48             @Override
    49             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    50 
    51                 Toast.makeText(TestActivity11.this, "选中的项目是"+xl[position], Toast.LENGTH_SHORT).show();
    52             }
    53 
    54             @Override
    55             public void onNothingSelected(AdapterView<?> parent) {
    56 
    57                 Toast.makeText(TestActivity11.this, "什么也没选", Toast.LENGTH_SHORT).show();
    58             }
    59         });
    60 
    61 
    62     }
    63 
    64 
    65     //发消息
    66     public void bt_OnClick(View v)
    67     {
    68         //1.得到状态栏消息管理器
    69         NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    70 
    71         //准备PendingIntent
    72         //1)创建Intent
    73         Intent intent=new Intent(this,TestActivity1.class);
    74 
    75         //2)生成
    76         PendingIntent pi=PendingIntent.getActivity(this, 0, intent, 0);
    77 
    78         //2.构建状态栏消息
    79          Notification nt=new Notification.Builder(this)
    80                  .setContentTitle("天气预报")
    81                  .setContentText("明天晴,气温30℃")
    82                  .setSmallIcon(R.drawable.tianqi)
    83                  .setTicker("新的天气预报")
    84                  .setDefaults(Notification.DEFAULT_SOUND)
    85                  .setAutoCancel(false)
    86                  .setContentIntent(pi)
    87                  .build();
    88 
    89 
    90         //3.由管理器发送消息
    91         nm.notify(0,nt);
    92 
    93     }
    94 }
    .java

  • 相关阅读:
    自习任我行第二阶段个人总结5
    自习任我行第二阶段个人总结4
    自习任我行第二阶段个人总结3
    自习任我行第二阶段个人总结2
    自习任我行第二阶段个人每日总结1
    bootstrap table
    log4j2 的使用
    新版本MySQL Server 5.7的免安装版本设置
    工作随笔 2016-5-19
    在windows 下安装启动redis
  • 原文地址:https://www.cnblogs.com/arxk/p/5514981.html
Copyright © 2020-2023  润新知