Android ProgressBar怎么实现进度条效果
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍了Android ProgressBar怎么实现进度条效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android ProgressBar怎么实现进度
千家信息网最后更新 2025年01月21日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安全错误
数据库的锁怎样保障安全
邯郸交友软件开发有用吗
网络安全技术管控
网络技术部的优点
数据库说明文档应该包括函数么
事实数据库什么意思
美军区块链网络安全
电脑管理服务器打不开
清华大学消费金融数据库
购买腾讯云轻量服务器怎么退款
阿里云服务器如何查看进程名
远程登陆服务器没有启动
大数据是数据库研究的最新方向吗
长宁区品质软件开发怎么样
物流扫描枪数据库
网络安全宣传活动的情况汇报
数据库赋值的形式
网络服务器安全配置定义
nod32服务器更新
oracle数据库串
网络安全活动党小组
网络安全技术管控
u8 记账 数据库表
江苏省南通凌志软件开发
域名服务器没有网站列表
软件开发人员的薪资
二维码收款软件开发
阳球用哪个mlst数据库
c 绑定数据库表到xml
泰拉瑞亚跨服务器数据互通
许昌软件开发定制