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

今天主要学习了安卓一些简单的组件,前两天都是按照案例(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();
    }
}

原文地址:https://www.cnblogs.com/weixiao1717/p/12258054.html

时间: 2024-10-08 08:51:24

寒假学习进度三——安卓的一些基本组件的相关文章

寒假学习进度一(安卓配置环境的搭建和hello world)

今天学习内容:观看了哔哩哔哩上的安卓教学视频,简单了解下了安卓的基本知识 具体内容: 一.配置安卓开发环境(安装Android studio,配置JDK) Android studio是个集成环境,不用配置JDK也可以正常使用,如果想要配置JDK,可以参考下面的教程. JDK配置教程链接:https://blog.csdn.net/siwuxie095/article/details/53386227 Android studio安装教程参考链接:https://blog.csdn.net/xu

寒假学习进度02

日期:2020.01.15 博客期:124 星期三 嗯,把这几天学习进度汇总一下: 1.CSV文件.XML文件.JSON文件的处理整合 这一部分详细的让我明天把博客整理出来,你们就能看到了,不过这一部分代码,借鉴了好多其他博主的,我在此声明一下:数据的文件读写部分(除CSV文件外,其余两个)不是本博主原创,剩下的这三者之间的转换和前面构造好的BeanGroup类型的相互转换是自己写的.嗯,具体看下一篇博客吧! 2.数据爬取详细信息 嗯,爬取的话,现在是只能爬取一页上的所有信息,没能做到页面跳转继

寒假学习进度(三)

毕业设计: 今天又重新读了读yolov3中算法实现部分和deep-sort算法,感觉又有点思路了,又重新改了改,但是效果都不理想,统计的未佩戴安全帽的 人的数量和现实的数量有明显出入.又思考了一会,感觉还是不知道具体错在哪里,就换了个思路实时统计每一帧中的未佩戴安全帽的人.之后又 看了看ya焰火识别的相关技术博客,也运行了一个小demo,感觉效果还不错,明天打算集成到自己的毕设项目中去. 看的书: 今天看了看剑指offer中关于贪心策略中的相关例题. 看的视频: 今天看了一个关于python中的

寒假学习进度五——活动之间的跳转以及数据的传递

前几天学习了安卓的界面,今天想着学习下页面的跳转. 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用 户进行交互. 活动由布局文件,Java文件两部分,活动首先要在AndroidManifest.xml中进行注册,之后再由Java文件调用setContentView(R.layout.XXX)方法加载页面布局. 平常的活动注册:<activity android:name=".FirstActivity"></activit

2020年寒假学习进度(一)

由于下学期就要进行毕业设计答辩,打算这个寒假在家先继续巩固知识和学习新的技术要点,然后着力进行毕业设计的开发. 今天主要复习了一些关于javaweb的内容,总结如下: (1)WEB,也就是网页的意思,它用于表示Internet主机上供外界访问的资源.常用动态web资源开发技术:JSP/Servlet.ASP.PHP等 本人主要学习java运用于web开发的重要技术在Java中,动态web资源开发技术统称为Javaweb. (2)servlet/jsp: 这是SUN公司(SUN现在已经被Oracl

寒假学习进度二

回家之后还是一如既往的一堆活需要干,前天写完进度二没有保存,就没有再发. 所以我从新捋一下思路,记得上次的内容有一个点,我相信初学linux 的同学都会有这个问题-----在linux 的系统中要配置hadoop首先会有配置文件内容这一步骤.然而Linux操作系统中文件的修改方式是完全不同于windows的. 以下是ubuntu中使用vi 命令修改文件并保存的实例: https://blog.csdn.net/guoqingshuang/article/details/81137587 我也是翻

寒假学习进度(一)

毕业设计进度: 今天毕业设计没有进行新功能的实现,改进了一下原有的安全帽和未佩戴安全帽的人数统计功能,使之更加符合现实中的工程要求.原有的人数统计是 统计每一帧中的佩戴安全帽的人和未佩戴安全帽的人,在每一帧中实时更新显示.但是这种人数统计没有多大意义,真正的统计,应该是统计给出一段视 频中的总佩戴人数和未佩戴人数,这种统计才符合现实中的工程要求. 但是要完成这却有不小难度,现在的深度学习检测识别算法都是将视频逐渐分解成每一帧,识别每一帧中的内容,但是怎样判断上下相连接的帧中相同物体 和不同物体的

寒假学习进度3

今天主要完成了pyqt库及相应工具的安装,以及简单的实现了界面功能. 开发工具IDE选择pycharm,因为之前就进行过python爬虫学习,所以IDE早就以及安装配置好了. 还有一点需要提的就是pyqt提供一个可视化工具叫QTDesigner,就像我们之前做过的C#一样,直接拖动控件完成界面布局就可以,省时间又省力气. 大致界面如下: 明天就要开始看考研网课了,界面开发可以先放一放. 原文地址:https://www.cnblogs.com/Aduorisk/p/12250056.html

寒假学习进度(二)

毕设进度: 今天在基本弄懂deep-sort检测的原理上,对其进行了项目复现.按照github上的指导很轻松的实现了项目复现,项目复现的例子是一个路口的行人识别计数, 我用在网上下载的几个视频测试一下,识别的效果不错,遮挡后得ID-Swicth现象比sort算法有明显的改善.但是在将deep-sort与自己的安全帽检测相融合的时候 却发现了难题,原来的deep-sort算法只支持单类别目标的跟踪计数,而我的项目中则要实现带安全帽和未佩戴安全帽的人数的分别统计计数,于是我重新构思如何 改动能使之符