java - Android 进度条大小调整

标签 java android android-linearlayout android-framelayout

我正在寻找一种在 Android 上制作进度条填充效果的方法。 我有一个名为 progressBarFrameLayout ,在这个 FrameLayout 内部是一个名为 filledBarLinearLayout 。我不知道 progressBarfilledBar 的文字宽度,但我希望 filledBar 占用一定量的 进度条。我该怎么做? (我正在以编程方式创建两个栏)

最佳答案

很简单,做一个像这样的XML布局:

FrameLayout
    View // background set to be a custom drawable
    TextView // gravity right

在代码中,您将其膨胀并设置可绘制对象:

private CustomDrawable drawable;

drawable = new CustomDrawable(context);
View v = layout.findViewById(...
v.setBackground(drawable);

然后更新百分比

drawable.setLevel(10);  // for 10% for example

当您在draw方法中创建自定义drawble时,只需调用drawRect即可

{

canvas.drawRect(0, 0, getLevel()/100*canvas.getWidth(), canvas.getHeight, paint);

}

使用您想要的颜色创建的油漆

这是一个非常粗略的想法,但我希望它足以引导您走向正确的方向。

关于java - Android 进度条大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393082/

相关文章:

java - 传递 PBEKeySpec 时 SecretKeyFactory generateSecret 错误

java - Android Studio 2.0 预览版 FileOpUtils 的 ClassNotFoundException

java - 任务 ':generateContractTests' 执行失败。 Spring Cloud 合约

android - 当两个依赖项使用FFmpeg时如何解决不满意的链接错误

java - 根据用户数量创建线性布局和其他内容

java - 使用 JodaTime 获取 Spring /夏季的 CST 时间

android - 评分栏像代号一的android

android - SQLite 正确架构与性能

android Horizo​​ntalScrollView布局组件方向

android - 以编程方式设置 ImageButton layout_gravity