Android基础——高级UI组件

Android基础——高级UI组件,第1张

概述进度条:ProgressBar拖动条:SeekBar星级条:RatingBar<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apkes/android"xmlns:app="http://schemas.android.com/apkes-auto

进度条:Progressbar

拖动条:Seekbar

星级条:ratingbar

<?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"    tools:context=".MainActivity">    <Progressbar        androID:ID="@+ID/progressbar1"                androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:max="100"        androID:progress="50">    </Progressbar>    <Progressbar        androID:ID="@+ID/progressbar2"        androID:layout_below="@ID/progressbar1"                androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:max="100"        androID:progress="70">    </Progressbar>    //拖动条控制图片透明度    <Seekbar        androID:layout_below="@ID/progressbar2"        androID:ID="@+ID/seekbar"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:max="255"        androID:progress="110"        />    <ImageVIEw        androID:layout_below="@ID/seekbar"        androID:layout_margintop="10dp"        androID:ID="@+ID/image"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:src="@mipmap/a"        />    <ratingbar        androID:ID="@+ID/ratingbar"        androID:layout_below="@ID/image"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:numStars="5"        androID:rating="2"        androID:stepSize="1"        androID:isIndicator="false"        >    </ratingbar></relativeLayout>

java部分的调用代码

package com.example.myhighui;import androIDx.annotation.NonNull;import androIDx.appcompat.app.AppCompatActivity;import androID.os.Bundle;import androID.os.Handler;import androID.os.Message;import androID.vIEw.VIEw;import androID.Widget.ImageVIEw;import androID.Widget.Progressbar;import androID.Widget.Radiobutton;import androID.Widget.ratingbar;import androID.Widget.Seekbar;import androID.Widget.Toast;public class MainActivity extends AppCompatActivity {    /*    * 安卓不支持在MainActivity中更新组件    * 但是提供了Handler,通过这一对象可以同过发送消息来更新UI组件    * */    private Progressbar progressbar = null;    private int mProgress = 0;//用于记录进度    private Handler mHandler = null;//用于处理消息    private Seekbar seekbar = null;    private ImageVIEw imageVIEw = null;    ratingbar ratingbar = null;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        progressbar = (Progressbar)findVIEwByID(R.ID.progressbar2);        mHandler = new Handler(){            @OverrIDe//处理收到的消息            public voID handleMessage(@NonNull Message msg) {                if(msg.what == 0x111){//任务未完成,更新进度条                    progressbar.setProgress(mProgress);                }                else {//任务完成,删掉进度条                    Toast.makeText(MainActivity.this,                            " *** 作已完成",Toast.LENGTH_SHORT);                    progressbar.setVisibility(VIEw.GONE);//进度条设置为不显示                }            }        };        //新建一个线程,执行耗时 *** 作        new Thread(new Runnable(){            //模拟耗时 *** 作            private int doWork(){                mProgress+=Math.random()*10;                try {                    Thread.sleep(200);                } catch (InterruptedException e) {                    e.printstacktrace();                }                return mProgress;            }            @OverrIDe            public voID run(){                while(true){                    mProgress = doWork();                    Message message = new Message();                    if(mProgress<100){//耗时 *** 作未完成                        message.what = 0x111;                        mHandler.sendMessage(message);//给主线程发送消息                    }                    else {//耗时 *** 作已经完成                        message.what = 0x110;                        mHandler.sendMessage(message);//给主线程发送消息                        break;                    }                }            }        }).start();        //用拖动条改变图片透明度        imageVIEw = findVIEwByID(R.ID.image);        seekbar = findVIEwByID(R.ID.seekbar);        seekbar.setonSeekbarchangelistener(new Seekbar.OnSeekbarchangelistener() {            @OverrIDe            public voID onProgressChanged(Seekbar seekbar, int progress, boolean fromUser) {                //imageVIEw.setimageAlpha(progress);//修改图片透明度            }            @OverrIDe            public voID onStartTrackingtouch(Seekbar seekbar) {            }            @OverrIDe            public voID onStopTrackingtouch(Seekbar seekbar) {            }        });        ratingbar ratingbar = (ratingbar)findVIEwByID(R.ID.ratingbar);        String string = String.valueOf(ratingbar.getrating());        //星级评分继承自进度条,所以可以调用        String progress = String.valueOf(ratingbar.getProgress());    }}

呈现结果

 

总结

以上是内存溢出为你收集整理的Android基础——高级UI组件全部内容,希望文章能够帮你解决Android基础——高级UI组件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存