• 寒假学习进度三——安卓的一些基本组件


    今天主要学习了安卓一些简单的组件,前两天都是按照案例(demo)敲的,对其中用到的组件不是特别的了解。

    TextView(文本框组件):主要用来显示文字的一些信息。通过修改TextView的属性可以改变文字的颜色,大小,位置。这个组件较比较简单,容易上手。这里就不过多叙述了。

    Button(按钮):是程序用于和用户进行交互的一个重要控件。Android Studio会对Button中的所有英文字母自动进行大写转换,你可以使用将textAllCaps属性改为false来禁用这一默认特性。

    EditText(编辑框组件):这个组件还是很好用的,在用户输入内容前会显示一些提示性文字。android:hint 属性指定提示性的文本内容。该组件中的maxLines 属性指定了EditText的最大行数。

    ImageView(图片组件)是用于在界面上展示图片的一个控件,它可以让我们的程序界面变得更加丰富多彩。 学习这个控件需要提前准备好一些图片,图片通常都是放在以“drawable”开头的目录下的。

    ProgressBar(进度条):用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。

    DatePicker和TimePicker:用于显示系统的日期和具体时间。

    编写的一些案例:

    日期组件:

     简单计时器:达到一分钟就自动停止

     喜马拉雅登录姐界面:

     游戏加载进度画面:

     代码:

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@mipmap/xxll"
        tools:context=".MainActivity">
    
        <ProgressBar
            android:id="@+id/progressbar1"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_width="match_parent"
            android:layout_height="25dp"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="40dp"
            />
    
    </RelativeLayout>

    MainActivity,java

    package com.itheima.progress;
    
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.view.WindowManager;
    import android.widget.ProgressBar;
    import android.widget.Toast;
    
    import androidx.annotation.NonNull;
    import androidx.appcompat.app.AppCompatActivity;
    
    public class MainActivity extends AppCompatActivity {
        private ProgressBar horzoniP;
        private int mgress;
        private Handler handler;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置全屏显示
            horzoniP=(ProgressBar)findViewById(R.id.progressbar1);
            handler=new Handler(){
                @Override
                public void handleMessage(@NonNull Message msg) {
                    if(msg.what==0x111){
                        horzoniP.setProgress(mgress);
                    }else{
                        Toast.makeText(MainActivity.this,"耗时进度已完成",Toast.LENGTH_SHORT).show();
                        horzoniP.setVisibility(View.GONE);
                    }
                }
            };
            new Thread(new Runnable() {
                @Override
                public void run() {
                        while(true){
                            mgress=doWork();
                            Message m=new Message();
                            if(mgress<100){
                                m.what=0x111;
                                handler.sendMessage(m);
                            }else{
                                m.what=0x110;
                                handler.sendMessage(m);
                                break;
                            }
                        }
                }
                private int doWork(){
                    mgress+= Math.random()*10;
                    try {
                        Thread.sleep(200);
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }
                    return mgress;
                }
            }).start();
        }
    }
  • 相关阅读:
    wget: command not found
    小程序循环多个picker选择器,实现动态增、减
    小程序 picker 多列选择器 数据动态获取
    有关https有的网站可以访问有的访问不了的问题
    微信小程序填坑之路
    linux如何搭建sftp服务器
    微信小程序模板中使用循环
    C#学习笔记(20)——使用IComparer(自己写的)
    C#学习笔记(19)——使用IComparer(百度文库)
    C#学习笔记(18)——C#构造函数中this和base的使用
  • 原文地址:https://www.cnblogs.com/weixiao1717/p/12258054.html
Copyright © 2020-2023  润新知