千家信息网

Android ProgressBar怎么实现进度条效果

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Android ProgressBar怎么实现进度条效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android ProgressBar怎么实现进度
千家信息网最后更新 2026年11月01日Android ProgressBar怎么实现进度条效果

这篇文章主要介绍了Android ProgressBar怎么实现进度条效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android ProgressBar怎么实现进度条效果文章都会有所收获,下面我们一起来看看吧。

具体效果如下

1.XML布局

                                

2.myprogressbar布局

                                                                                                                                  

3.MainActivity

public class MainActivity extends AppCompatActivity {     private ProgressBar progesss;    private TextView progesssValue;    private LinearLayout full;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);          progesss = (ProgressBar) findViewById(R.id.progesss1);        progesssValue = (TextView) findViewById(R.id.progesss_value1);        full = (LinearLayout) findViewById(R.id.full);         initview();    }     private void initview() {         progesss.setProgress(66);        progesssValue.setText(new StringBuffer().append(progesss.getProgress()).append("%"));         setPosWay1();//        ToastUtil.showToast("进度为66");//        Toast.makeText(this,"进度为:--66",Toast.LENGTH_SHORT).show();         //        full.setOnTouchListener(new View.OnTouchListener() {////            @Override//            public boolean onTouch(View v, MotionEvent event) {//                int w = getWindowManager().getDefaultDisplay().getWidth();//                switch (event.getAction()) {//                    case MotionEvent.ACTION_DOWN://                        x1 = (int) event.getRawX();//                        progesss.setProgress(100 * x1 / w);//                        setPos();//                        break;//                    case MotionEvent.ACTION_MOVE://                        x2 = (int) event.getRawX();//                        dx = x2 - x1;//                        if (Math.abs(dx) > w / 100) { //改变条件 调整进度改变速度//                            x1 = x2; // 去掉已经用掉的距离, 去掉这句 运行看看会出现效果//                            progesss.setProgress(progesss.getProgress() + dx * 100 / w);//                            setPos();//                        }//                        break;//                    case MotionEvent.ACTION_UP://                        break;//                }//                return true;//            }//        });      }      @Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if (hasFocus) {            setPos();        }    }    private void setPosWay1() {        progesssValue.post(new Runnable() {            @Override            public void run() {                setPos();            }        });    }     /**     * 设置进度显示在对应的位置     */    public void setPos() {        int w = getWindowManager().getDefaultDisplay().getWidth();        Log.e("w=====", "" + w);        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) progesssValue.getLayoutParams();        int pro = progesss.getProgress();        int tW = progesssValue.getWidth();        if (w * pro / 100 + tW * 0.3 > w) {            params.leftMargin = (int) (w - tW * 1.1);        } else if (w * pro / 100 < tW * 0.7) {            params.leftMargin = 0;        } else {            params.leftMargin = (int) (w * pro / 100 - tW * 0.7);        }        progesssValue.setLayoutParams(params);     }}

关于"Android ProgressBar怎么实现进度条效果"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android ProgressBar怎么实现进度条效果"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

进度 效果 知识 内容 布局 篇文章 价值 位置 操作简单 文章 易懂 更多 条件 看吧 行业 资讯 资讯频道 速度 频道 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 互联网科技卖菜 科技与互联网发展 迪茉互联网科技 时间互联网络科技 菲比寻常互联网科技 碳银互联网科技有限公司 互联网科技视频素材 互联网科技公司介绍 互联网金融和金融科技 开启互联网科技时代小说 银川新华互联网科技职业技术培训学校图片 浙江互联网科技研学营 消费医药和互联网科技 天津腾达互联网科技有限公司 河南住房之家互联网科技 乌鲁木齐新华智原互联网科技学校 有人说阿里系是互联网科技企业 互联网科技新闻 绵阳真晨互联网科技有限公司 互联网科技名片 互联网科技工作委员会毛军 互联网科技未来 深圳艾佳互联网科技 银川新华互联网科技职业技术培训学校图片 山东有哪些互联网科技公司 广州梦谷互联网科技有限公司领导 云南互联网科技学费 互联网时代高科技布局 高科技和互联网的现代国家
0