我试图像这样在ListView中显示项目:

    a. Name1
        80.33 ======      60%

    b. Name2
       101.22 =======     70%

    c. Name3
        55.22 ===         30%

    d. Name4
       140.11 ========== 100%


“图形”应为纯色线条,但必须有100%的整个宽度,并且它应占据可用的整个宽度,最左边的值和最右边的百分比除外。相对于集合中的最低值,百分比也更高。

无论如何,我已经尝试过使用带有ProgressBar的FrameLayout,这似乎不合适,而且我无法按我想要的方式进行布局。我正在考虑将1px彩色图像拉伸到所需的百分比,然后其余部分将1px深色图像拉伸。

有任何想法吗?谢谢!

编辑:
好的进度,但是有一个新问题:

这是我在布局中所做的:

    <View
        android:id="@+id/pr_bar_1"
        android:layout_width="30dip"
        android:layout_height="4dip"
        android:layout_gravity="center_vertical"
        android:background="#ffffff" />

    <View
        android:id="@+id/pr_bar_2"
        android:layout_width="70dip"
        android:layout_height="4dip"
        android:layout_gravity="center_vertical"
        android:background="#333333" />


看起来就像我想要的!但是...我现在似乎无法动态设置宽度。 View类没有setLayoutWidth(int dip)方法。如果我能做到,那我就完成了。有任何想法吗?谢谢!

最佳答案

据我了解,您需要对得分百分比显示暗线。如果我错了,让我纠正。为此,您可以尝试以下操作:

您可以在1个水平LinearLayout父对象下使用2个LinearLayout。将父布局的权重设置为100。第一个LinearLayout左边是深色图像,第二个是浅色图像。然后根据百分比设置左子元素的权重,然后将剩余的百分比赋给右LinearLayout

回答您的编辑问题:

LayoutParams
 params=view_instan.getLayoutParams();
params.width=yourWidth;
view_instan.setLayoutParams(params);

关于android - Android静态百分比栏 View -不是进度栏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25353057/

10-14 17:27