• 安卓第三天笔记--通知-进度条-时期


    安卓第三天笔记--通知-进度条-时期

    1.通知Notification

    通知就是在是上方的状态栏弹出通知消息

     
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        tools:context=".MainActivity" >
    
     
    
        <Button
    
            android:onClick="send"
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"
    
            android:text="发送通知" />
    
     
    
    </RelativeLayout>
     
    
    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:orientation="vertical" >
    
       
    
        <TextView
    
            android:id="@+id/tv"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:text="这是通知的跳转页面"/>
    
     
    
        <ImageView
    
            android:id="@+id/iv"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:src="@drawable/swift"/>
    
       
    
    </LinearLayout>
    
     
    /**
    
     * 收到通知时,点击通知打开的Activity
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:03:44
    
     */
    
    public class OtherActivity extends Activity {
    
     
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
            
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.other);
    
         }
    
     
    
        
    
    }
    
     
    
     
    
    ManiActivity
    
     
    
    /**
    
     * 发送通知
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午7:20:05
    
     */
    
    public class MainActivity extends Activity {
    
     
    
         private NotificationManager manager;
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
             //获取通知管理器
    
             manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    
            
    
         }
    
     
    
     
    
         /**
    
          * 发送通知
    
          * @param v
    
          */
    
         @SuppressLint("NewApi")
    
         public void send(View v){
    
             //创建一个启动的Intent意图
    
             Intent intent = new Intent();
    
             intent.setClass(this, OtherActivity.class);
    
             //打开A description of an Intent and target action to perform with it
    
             PendingIntent pendingIntent =PendingIntent.getActivity(this, 0, intent, 0);
    
            
    
             //建立通知
    
             Notification notification = new Notification.Builder(this)
    
             //设置打开通知
    
             .setAutoCancel(true)
    
             //状态栏显示的信息
    
             .setTicker("状态栏显示的信息")
    
             //设置通知的图标
    
             .setSmallIcon(R.drawable.notify)
    
             //设置内容标题
    
             .setContentTitle("一条新的通知")
    
             //设置通知的内容
    
             .setContentText("恭喜您,您加薪了,工资增加20%")
    
             .setContentIntent(pendingIntent)
    
             //设置通知的声音
    
             .build();
    
             //发送一个通知
    
             manager.notify(0, notification);
    
            
    
         }
    
     
    
    }
    
     

    2.TitleProgressBar

     

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
         android:orientation="horizontal"
    
         android:layout_width="match_parent"
    
         android:layout_height="match_parent">
    
         <Button
    
             android:id="@+id/btn1"
    
             android:layout_width="wrap_content"
    
             android:layout_height="wrap_content"
    
             android:layout_gravity="center_horizontal"
    
             android:text="显示"
    
             />
    
         <Button
    
             android:id="@+id/btn2"
    
             android:layout_width="wrap_content"
    
             android:layout_height="wrap_content"
    
             android:layout_gravity="center_horizontal"
    
             android:text="隐藏"
    
             />
    
    </LinearLayout>
    
     
    
     
    /**
    
     * 标题栏上方显示进度条
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:12:21
    
     */
    
    public class MainActivity extends Activity {
    
     
    
         private Button btn1;
    
         private Button btn2;
    
     
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
            
    
             requestWindowFeature(Window.FEATURE_PROGRESS);
    
            
    
             //requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    
             setContentView(R.layout.activity_main);
    
            
    
            
    
             btn1 = (Button) findViewById(R.id.btn1);
    
             btn2 = (Button) findViewById(R.id.btn2);
    
            
    
             btn1.setOnClickListener(new OnClickListener()
    
             {
    
                  @Override
    
                  public void onClick(View source)
    
                  {
    
                       //显示不带进度的进度条
    
                       setProgressBarIndeterminateVisibility(true);
    
                       //显示带进度的进度条
    
                       setProgressBarVisibility(true);
    
                       //设置进度条的进度
    
                       setProgress(4500);
    
                  }
    
             });
    
             btn2.setOnClickListener(new OnClickListener()
    
             {
    
                  @Override
    
                  public void onClick(View source)
    
                  {
    
                       //隐藏不带进度的进度条
    
                       setProgressBarIndeterminateVisibility(false);
    
                       //隐藏带进度的进度条
    
                       setProgressBarVisibility(false);
    
                  }
    
             });
    
         }
    
    }
    
     

    3.SeekBar--拖动改变图片的透明度

     

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:orientation="vertical"
    
        tools:context=".MainActivity" >
    
     
    
        <ImageView
    
            android:id="@+id/iv"
    
            android:layout_width="match_parent"
    
            android:layout_height="240dp"
    
            android:src="@drawable/lijiang"
    
            android:alpha="1"/>
    
     
    
        <SeekBar
    
            android:id="@+id/seekbar"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:max="255"
    
            android:progress="255"
    
            android:thumb="@drawable/ic_launcher"
    
            />
    
       
    
       
    
        <TextView
    
            android:gravity="center_horizontal"
    
            android:id="@+id/tv"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"/>
    
    </LinearLayout>
    
     
     
    
    /**
    
     * SeekBar
    
     * 拖动SeekBar来改变图片的透明度
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:09:43
    
     */
    
    public class MainActivity extends Activity {
    
        
    
         private ImageView iv;
    
        
    
         private SeekBar seekbar;
    
        
    
         private TextView tv;
    
        
    
     
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
            
    
             iv = (ImageView) findViewById(R.id.iv);
    
             seekbar = (SeekBar) findViewById(R.id.seekbar);
    
             tv = (TextView) findViewById(R.id.tv);
    
            
    
            
    
             seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    
                 
    
                  @Override
    
                  public void onStopTrackingTouch(SeekBar seekBar) {
    
                       tv.setText(seekBar.getProgress()+"");
    
                      
    
                  }
    
                 
    
                  @Override
    
                  public void onStartTrackingTouch(SeekBar seekBar) {
    
                       tv.setText(seekBar.getProgress()+"");
    
                      
    
                  }
    
                 
    
                  @Override
    
                  public void onProgressChanged(SeekBar seekBar, int progress,
    
                           boolean fromUser) {
    
                       tv.setText(seekBar.getProgress()+"");
    
                      
    
                       iv.setImageAlpha(progress);
    
                      
    
                  }
    
             });
    
         }
    
     
    
    }
    
     

    4.RationBar---使用星星做为进度条,评价是常用

     

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:orientation="vertical"
    
        tools:context=".MainActivity" >
    
     
    
        <ImageView
    
            android:id="@+id/iv"
    
            android:layout_width="match_parent"
    
            android:layout_height="240dp"
    
            android:src="@drawable/lijiang"
    
            android:alpha="1"/>
    
     
    
        <RatingBar
    
            android:id="@+id/ratingbar"
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"
    
            android:max="255"
    
            android:progress="255"
    
             android:numStars="5"
    
             android:stepSize="0.5"/>
    
       
    
       
    
        <TextView
    
            android:gravity="center_horizontal"
    
            android:id="@+id/tv"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"/>
    
    </LinearLayout>
    
     
    
     
    /**
    
     * 使用星星做为进度条
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:14:00
    
     */
    
    public class MainActivity extends Activity {
    
         private ImageView iv;
    
     
    
         private RatingBar ratingbar;
    
     
    
         private TextView tv;
    
     
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
             iv = (ImageView) findViewById(R.id.iv);
    
             ratingbar = (RatingBar) findViewById(R.id.ratingbar);
    
            
    
             ratingbar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
    
                 
    
                  @SuppressLint("NewApi")
    
                  @Override
    
                  public void onRatingChanged(RatingBar ratingBar, float rating,
    
                           boolean fromUser) {
    
                      
    
                       iv.setImageAlpha((int) (rating*255/5));
    
                      
    
                  }
    
             });
    
         }
    
     
    
    }
    
     
    
     

    5.选项卡

     

    <?xml version="1.0" encoding="utf-8"?>
    
    <TabHost
    
         xmlns:android="http://schemas.android.com/apk/res/android"
    
         android:id="@android:id/tabhost"
    
         android:layout_width="match_parent"
    
         android:layout_height="match_parent"
    
         android:layout_weight="1">
    
         <LinearLayout
    
             android:layout_width="match_parent"
    
             android:layout_height="match_parent"
    
             android:orientation="vertical">
    
             <TabWidget
    
                  android:id="@android:id/tabs"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="wrap_content"/>
    
             <FrameLayout
    
                  android:id="@android:id/tabcontent"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="match_parent">
    
                  <!-- 定义第一个标签页的内容 -->
    
                  <LinearLayout
    
                       android:id="@+id/tab01"
    
                       android:orientation="vertical"
    
                       android:layout_width="match_parent"
    
                       android:layout_height="match_parent">
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="女儿国国王 - 2012/12/12"
    
                           android:textSize="11pt" />
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="东海龙女 - 2012/12/18"
    
                           android:textSize="11pt" />
    
                  </LinearLayout>
    
                  <!-- 定义第二个标签页的内容 -->
    
                  <LinearLayout
    
                       android:id="@+id/tab02"
    
                       android:orientation="vertical"
    
                       android:layout_width="match_parent"
    
                       android:layout_height="match_parent">
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="白骨精  - 2012/08/12"
    
                           android:textSize="11pt" />
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="蜘蛛精 - 2012/09/20"
    
                           android:textSize="11pt" />
    
                  </LinearLayout>
    
                  <!-- 定义第三个标签页的内容 -->
    
                  <LinearLayout
    
                       android:id="@+id/tab03"
    
                       android:orientation="vertical"
    
                       android:layout_width="match_parent"
    
                       android:layout_height="match_parent"
    
                       android:textSize="11pt">
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="孙悟空 - 2012/09/19"
    
                           android:textSize="11pt" />
    
                       <TextView
    
                           android:layout_width="wrap_content"
    
                           android:layout_height="wrap_content"
    
                           android:text="猪八戒  - 2012/10/12"
    
                           android:textSize="11pt" />
    
                  </LinearLayout>
    
             </FrameLayout>
    
         </LinearLayout>
    
    </TabHost>
    
     
    
     
     
    
    /**
    
     * 使用选项卡,
    
     * Activity要继承TabActivity
    
     *
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:16:12
    
     */
    
    public class MainActivity extends TabActivity
    
    {
    
         @Override
    
         public void onCreate(Bundle savedInstanceState)
    
         {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
             // 获取该Activity里面的TabHost组件
    
             TabHost tabHost = getTabHost();
    
             // 创建第一个Tab页
    
             TabHost.TabSpec tab1 = tabHost.newTabSpec("tab1")
    
                       .setIndicator("已接电话") // 设置标题
    
                       .setContent(R.id.tab01); //设置内容
    
             // 添加第一个标签页
    
             tabHost.addTab(tab1);
    
             TabHost.TabSpec tab2 = tabHost.newTabSpec("tab2")
    
                       // 在标签标题上放置图标
    
                       .setIndicator("呼出电话", getResources()
    
                                .getDrawable(R.drawable.ic_launcher))
    
                       .setContent(R.id.tab02);
    
             // 添加第二个标签页
    
             tabHost.addTab(tab2);
    
             TabHost.TabSpec tab3 = tabHost.newTabSpec("tab3")
    
                       .setIndicator("未接电话")
    
                       .setContent(R.id.tab03);
    
             // 添加第三个标签页
    
             tabHost.addTab(tab3);
    
         }
    
    }
    
     

    7.ViewFlipper

     

     
    
    使用ViewFlipper来播放图片 这个控件继承了ViewAnimator
    
      调用showPrevious显示上一张
    
      showNext();显示下一张
    
         startFlipping();开始自动播放
    
         stopFlipping();停止播放
    
         设置进入的动画效果与方向
    
         viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);
    
         设置切换下一张时的动画效果与方向
    
             viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);
    
     
    
     
    
    <?xml version="1.0" encoding="utf-8"?>
    
    <RelativeLayout
    
         xmlns:android="http://schemas.android.com/apk/res/android"
    
         android:layout_width="match_parent"
    
         android:layout_height="match_parent">
    
         <ViewFlipper
    
             android:id="@+id/details"
    
             android:layout_width="match_parent"
    
             android:layout_height="match_parent"
    
             android:flipInterval="2000"
    
             >
    
             <ImageView
    
                  android:src="@drawable/android"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="wrap_content">
    
             </ImageView>
    
            
    
             <ImageView
    
                  android:src="@drawable/java"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="wrap_content">
    
             </ImageView>
    
            
    
             <ImageView
    
                  android:src="@drawable/javaee"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="wrap_content">
    
             </ImageView>
    
         </ViewFlipper>
    
         <Button
    
             android:text="&lt;"
    
             android:onClick="prev"
    
             android:layout_width="wrap_content"
    
             android:layout_height="wrap_content"
    
             android:layout_alignParentBottom="true"
    
             android:layout_alignParentLeft="true"/>
    
         <Button
    
             android:layout_width="wrap_content"
    
             android:layout_height="wrap_content"
    
             android:layout_alignParentBottom="true"
    
             android:layout_centerInParent="true"
    
             android:onClick="auto"
    
             android:text="自动播放"/>
    
         <Button
    
             android:text="&gt;"
    
             android:onClick="next"
    
             android:layout_width="wrap_content"
    
             android:layout_height="wrap_content"
    
             android:layout_alignParentBottom="true"
    
             android:layout_alignParentRight="true"/>
    
    </RelativeLayout>
    
     
    
     
    /**
    
     * 使用ViewFlipper来播放图片 这个控件继承了ViewAnimator
    
     *
    
     * 调用showPrevious显示上一张
    
     * showNext();显示下一张
    
         startFlipping();开始自动播放
    
         stopFlipping();停止播放
    
         设置进入的动画效果与方向
    
         viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);
    
         设置切换下一张时的动画效果与方向
    
             viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:19:40
    
     */
    
     
    
    public class MainActivity extends Activity {
    
     
    
        
    
         private ViewFlipper viewFlipper;
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
             viewFlipper = (ViewFlipper) findViewById(R.id.details);
    
         }
    
     
    
        
    
     
    
         /*
    
          * 上一个
    
          */
    
         public void prev(View v){
    
            
    
             viewFlipper.setInAnimation(this, android.R.anim.slide_out_right);
    
             viewFlipper.setOutAnimation(this, android.R.anim.slide_in_left);
    
             viewFlipper.showPrevious();
    
             viewFlipper.stopFlipping();
    
            
    
            
    
         }
    
        
    
         /*
    
          * 下一个
    
          */
    
         public void next(View v){
    
             viewFlipper.setInAnimation(this, android.R.anim.slide_in_left);
    
             viewFlipper.setOutAnimation(this, android.R.anim.slide_out_right);
    
             viewFlipper.showNext();
    
             viewFlipper.stopFlipping();
    
         }
    
        
    
         /*
    
          * 自动播放
    
          */
    
         public void auto(View v){
    
             viewFlipper.setInAnimation(this, android.R.anim.slide_in_left);
    
             viewFlipper.setOutAnimation(this, android.R.anim.slide_out_right);
    
             viewFlipper.startFlipping();
    
         }
    
    }
    
     
    
     

    8.TextSwitch

    使用时要建立一个工厂,返回必须为TextView

     

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        tools:context=".MainActivity" >
    
     
    
        <TextSwitcher
    
            android:id="@+id/textSwicher"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:inAnimation="@android:anim/slide_in_left"
    
            android:outAnimation="@android:anim/slide_out_right"
    
            android:onClick="next"/>
    
     
    
    </LinearLayout>
    
     
    /**
    
     * TextSwitcher继承 ViewSwitcher继承ViewAnimator
    
     * 使用时要建立一个工厂
    
     *
    
        
    
     * @author 刘楠
    
     *
    
     * 2016-2-19下午11:23:23
    
     */
    
     
    
    public class MainActivity extends Activity {
    
     
    
        
    
         private TextSwitcher textSwicher;
    
         private String [] strs = {
    
                  "疯狂JAVA讲义",
    
                  "疯狂Andorid讲义",
    
                  "疯狂XML讲义",
    
                  "疯狂Ajax讲义",
    
                  "疯狂JAVA EE讲义"
    
         };
    
         private int cusStr=0;
    
         @Override
    
         protected void onCreate(Bundle savedInstanceState) {
    
             super.onCreate(savedInstanceState);
    
             setContentView(R.layout.activity_main);
    
            
    
             textSwicher = (TextSwitcher) findViewById(R.id.textSwicher);
    
            
    
             //设置工厂
    
             textSwicher.setFactory(new ViewFactory() {
    
                 
    
                  @Override
    
                  public View makeView() {
    
                       TextView tv= new TextView(MainActivity.this);
    
                       tv.setTextSize(40);
    
                       tv.setTextColor(Color.MAGENTA);
    
                       return tv;
    
                  }
    
             });
    
         }
    
     
    
        
    
         public void next(View view){
    
            
    
             textSwicher.setText(strs[cusStr++%strs.length]);
    
            
    
         }
    
     
    
     
    
    }
    
     
    
     

    9.Data类控件

     

    CalendarView

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context="com.itheima.calendarview.MainActivity">
    
        <TextView
            android:gravity="center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="28sp"
            android:textColor="#66ff0000"
            android:text="请选择日期"/>
    
        <CalendarView
            android:id="@+id/cv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:firstDayOfWeek="1"
            android:shownWeekCount="4"
            android:selectedWeekBackgroundColor="#aff"
            android:focusedMonthDateColor="#f00"
            android:weekSeparatorLineColor="#ff0"
            android:unfocusedMonthDateColor="#f9f">
    
        </CalendarView>
    
        <TextView
            android:id="@+id/tv"
            android:gravity="center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="28sp"
            android:textColor="#66ff0000"/>
    
    </LinearLayout>
    
     
    
     
    public class MainActivity extends AppCompatActivity {
    
    
    
    
    
        private CalendarView cv;
    
        private TextView tv;
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
            cv = (CalendarView) findViewById(R.id.cv);
    
            tv = (TextView) findViewById(R.id.tv);
    
    
    
    
    
            //设置监听器
    
            cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
    
                @Override
    
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
    
                    //显示用户选择日期
    
                    Toast.makeText(MainActivity.this,year+"年"+month+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show();
    
                }
    
            });
    
        }
    
    }
     

    DatePicker与TimePicker

     

     
    
     
    
    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout
    
        xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        android:orientation="vertical"
    
        tools:context="com.itheima.datetimepicker.MainActivity">
    
    
    
        <TextView
    
            android:gravity="center_horizontal"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:textSize="28sp"
    
            android:text="请选择日期"/>
    
    
    
    
    
        <DatePicker
    
            android:id="@+id/dataPicker"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:calendarViewShown="true"
    
            android:calendarTextColor="@color/colorAccent"
    
            android:layout_gravity="center_horizontal"
    
            android:startYear="2000"
    
            android:endYear="2020"
    
            android:spinnersShown="true">
    
    
    
        </DatePicker>
    
    
    
    
    
        <TimePicker
    
            android:id="@+id/timePicker"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            >
    
    
    
        </TimePicker>
    
    
    
        <EditText
    
            android:id="@+id/et_show"
    
            android:layout_width="match_parent"
    
            android:layout_height="wrap_content"
    
            android:editable="false"
    
            android:cursorVisible="false"/>
    
    </LinearLayout>
     
    
     
    public class MainActivity extends AppCompatActivity {
    
    
    
        private DatePicker dataPicker;
    
        private TimePicker timePicker;
    
        private EditText et_show;
    
        private int year;
    
        private int month;
    
        private int day;
    
        private int hour;
    
        private int minute;
    
    
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
    
    
            dataPicker = (DatePicker) findViewById(R.id.dataPicker);
    
            timePicker = (TimePicker) findViewById(R.id.timePicker);
    
            et_show = (EditText) findViewById(R.id.et_show);
    
    
    
            /*
    
            获取当前时间
    
             */
    
            Calendar calendar = Calendar.getInstance();
    
    
    
            year =calendar.get(Calendar.YEAR);
    
            month =calendar.get(Calendar.MONTH);
    
            day =calendar.get(Calendar.DAY_OF_MONTH);
    
            hour =calendar.get(Calendar.HOUR_OF_DAY);
    
            minute =calendar.get(Calendar.MINUTE);
    
            /*
    
            初始化日期DataPicker组件
    
             */
    
            dataPicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
    
                @Override
    
                public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    
    
    
                    MainActivity.this.year=year;
    
    
    
                    MainActivity.this.month = monthOfYear;
    
    
    
                    MainActivity.this.day = dayOfMonth;
    
    
    
                    showDate(year,month,day,hour,minute);
    
                }
    
            });
    
    
    
            /*
    
            设置监听器
    
             */
    
            timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
    
                @Override
    
                public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
    
                    MainActivity.this.hour=hourOfDay;
    
                    MainActivity.this.minute = minute;
    
    
    
                    showDate(year,month,day,hour,minute);
    
                }
    
            });
    
    
    
    
    
        }
    
    
    
    
    
    
    
        private void showDate(int year,int month,int day,int hour,int minute){
    
    
    
            et_show.setText("日期:"+year+"年"+month+"月"+day+"月"+hour+"时"+minute+"分");
    
        }
    
    }
     

    10.SearchView

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout
    
        xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        android:orientation="vertical"
    
        tools:context="com.itheima.searchview.MainActivity">
    
    
    
        <SearchView
    
            android:id="@+id/sv"
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"/>
    
    
    
    
    
        <ListView
    
            android:id="@+id/lv"
    
            android:layout_width="match_parent"
    
            android:layout_height="0dp"
    
            android:layout_weight="1">
    
    
    
        </ListView>
    
    </LinearLayout>
     
    
     
    
     
    
     
    /**
    
     * 搜索框的使用
    
     */
    
    public class MainActivity extends AppCompatActivity {
    
    
    
        private SearchView sv;
    
        private ListView lv;
    
        private String [] mStrings = {
    
                "aaa",
    
                "bbbb",
    
                "ccccc",
    
                "dddddd",
    
                "eeeeeee"
    
        };
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
    
    
            sv = (SearchView) findViewById(R.id.sv);
    
            lv = (ListView) findViewById(R.id.lv);
    
            //适配器
    
            lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrings));
    
    
    
            //启用过滤
    
            lv.setTextFilterEnabled(true);
    
            //是否自动缩小为图标
    
            sv.setIconifiedByDefault(false);
    
            //显示搜索按键
    
            sv.setSubmitButtonEnabled(true);
    
            //设置搜索框内显示的文件
    
            sv.setQueryHint("查找");
    
    
    
            sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    
                @Override
    
                public boolean onQueryTextSubmit(String query) {
    
                    Toast.makeText(MainActivity.this,"选择是:"+query,Toast.LENGTH_SHORT).show();
    
                    return false;
    
    
    
                }
    
    
    
    
    
                /**
    
                 * 单击搜索按键时激发的事件
    
                 * @param newText
    
                 * @return
    
                 */
    
                @Override
    
                public boolean onQueryTextChange(String newText) {
    
    
    
    
    
                    if(TextUtils.isEmpty(newText)){
    
                        //清除listview中的内容
    
                        lv.clearTextFilter();
    
                    }else{
    
                        lv.setFilterText(newText);
    
                    }
    
                    return true;
    
                }
    
            });
    
        }
    
    }
     

    11自动完成AutoCompleteTextView

    AutoCompleteTextView 单个完成

    MultiAutoCompleteTextView可以有多个值,用,号分隔

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context=".MainActivity" >
    
        <AutoCompleteTextView 
            android:id="@+id/auto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionHint="请选择喜欢的图书"
            android:dropDownHorizontalOffset="10dp"
            android:completionThreshold="1"/>
    
    
        <MultiAutoCompleteTextView 
            android:id="@+id/mauto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"/>
    </LinearLayout>
    /**
     * 自动完成文件框
        
     * @author 刘楠
     *
     * 2016-2-19下午11:55:16
     */
    public class MainActivity extends Activity {
    
        private AutoCompleteTextView auto;
        private MultiAutoCompleteTextView mauto;
        String[] books = { "疯狂JAVA讲义", "疯狂Android讲义", "疯狂Ajax讲义", "疯狂XML讲义",
                "疯狂workflow讲义" };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            auto = (AutoCompleteTextView) findViewById(R.id.auto);
            mauto = (MultiAutoCompleteTextView) findViewById(R.id.mauto);
    
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                    MainActivity.this, android.R.layout.simple_dropdown_item_1line,
                    books);
            
            auto.setAdapter(adapter);
            
            mauto.setAdapter(adapter);
            //设置分隔符
            mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    
        }
    
    }

    12.时钟

    AnalogClock与TextClock

    format12Hour:设置时钟12小时制字符串

    format24Hour:设置时钟24小时制字符串

    timeZone:设置时区

    dial:设置模拟时钟表盘使用的图片

    hand_hour:时针使用的图片

    hand_minuties:分针使用的图片

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal">
        <!-- 定义模拟时钟 -->
        <AnalogClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <!-- 定义数字时钟 -->
        <TextClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="10pt"
            android:textColor="#f0f"
            android:format12Hour="yyyy年MM月dd日 H:mma EEEE"
            android:drawableEnd="@drawable/ic_launcher"/>
        <!-- 定义模拟时钟,并使用自定义表盘、时针图片 -->
        <AnalogClock
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:dial="@drawable/watch"
            android:hand_minute="@drawable/hand"/>
    </LinearLayout>

    13计时器Chronometer

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal">
        <Chronometer
            android:id="@+id/test"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="12pt"
            android:textColor="#ffff0000"/>
        <Button
            android:id="@+id/start"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="启动"/>
    </LinearLayout>
    /**
     * 计时器
        
     * @author 刘楠
     *
     * 2016-2-20上午12:15:09
     */
    public class MainActivity extends Activity {
        Chronometer ch;
        Button start;
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 获取计时器组件
            ch = (Chronometer) findViewById(R.id.test);
            // 获取“开始”按钮
            start = (Button) findViewById(R.id.start);
            start.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View source)
                {
                    // 设置开始计时时间
                    ch.setBase(SystemClock.elapsedRealtime());
                    // 启动计时器
                    ch.start();
                    start.setEnabled(false);
                }
            });
            // 为Chronometer绑定事件监听器
            ch.setOnChronometerTickListener(new OnChronometerTickListener()
            {
                @Override
                public void onChronometerTick(Chronometer ch)
                {
                    // 如果从开始计时到现在超过了20s
                    if (SystemClock.elapsedRealtime() - ch.getBase() > 20 * 1000)
                    {
                        ch.stop();
                        start.setEnabled(true);
                    }
                }
            });
        }
    
    }
  • 相关阅读:
    面对诱惑我们应有的态度
    TED 停止寻找你的热情
    C字符数组的处理
    对Linux(Unix)的基础知识归纳
    对Hadoop体系的一点认识
    Android开发涉及有点概念&相关知识点(待写)
    IOS开发涉及有点概念&相关知识点
    对CLR基本原理概念&垃圾回收机制的简单理解
    含有指针变量的类需要重写拷贝构造函数,拷贝赋值函数,析构函数
    malloc分配内存的结构
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5202509.html
Copyright © 2020-2023  润新知