如何在Android中以图形方式显示数量?
我正在开发一个应用程序,其中我想在一个矩形中显示一个数量。以下是我需要的。我有两个价值观,比如totalMoney和spentMoney。 我想在两种颜色的矩形框中显示剩余的钱(即totalMoney-spentMoney) 像这样:如何在Android中以图形方式显示数量?,android,graphics,colorbox,draw,Android,Graphics,Colorbox,Draw,我正在开发一个应用程序,其中我想在一个矩形中显示一个数量。以下是我需要的。我有两个价值观,比如totalMoney和spentMoney。 我想在两种颜色的矩形框中显示剩余的钱(即totalMoney-spentMoney) 像这样: |======================| |///////////| | |////50%////| | |///////////| | |======================| 此矩
|======================|
|///////////| |
|////50%////| |
|///////////| |
|======================|
此矩形将与其他组件(如textview等)协作,位于自定义视图中
我如何在Android中得到这个?我正在安卓2.2上工作。您需要一个
下面是一个自定义的示例
<ProgressBar style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="7dip"
android:id="@+id/pop1000Bar"
android:max="1000"
android:progress="500"
android:progressDrawable="@drawable/progressbarlayers"
>
</ProgressBar>
progressbarlayers是一个xml文件,它定义了我希望进度条的外观。这里是如何设置我的
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="#A9F505"
android:endColor="#FFF700"
android:angle="270" />
</shape>
</clip>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<size android:height="3dip"/>
<gradient
android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="#A9F505"
android:endColor="#FFF700"
android:angle="270" />
</shape>
</clip>
</item>
</layer-list>
结果是这样的:
但你可以让它看起来像你需要的任何东西
编辑:您可以通过多种方式获取文本。如果父布局是相对布局,则只需在进度栏顶部堆叠一个文本视图,并在每次更新进度时在文本视图上调用setText。可能更好的方法是使用ProgressBar子类为您绘制它。他们刚刚创建了一个新视图,扩展ProgressBar,并覆盖onDraw,以便每次在画布上绘制一些文本,同时绘制条形图和背景。最灵活的方法是创建自定义视图 使用ImageView作为基类并重写onDraw
onDraw给你一张画布,你可以画你喜欢的东西。谢谢你的快速回答。。。我现在就试试。。。。那上面的文字呢。。。我怎么能有那个。。。因为这也是需要的,非常感谢你。。。我正在尝试。。。我知道这会奏效的。。向你致敬…一个小问题。。。根据我的要求,我不想要一个不断变化/成长的进度条。。我只想设置一个值,就这样。。。你的解决方案仍然有效吗