Android:如何将垂直进度条添加到主屏幕小部件?

时间:2011-09-27 07:30:15

标签: android widget progress-bar

我需要在主屏幕小部件中放置一个垂直滚动条,经过多次搜索后,我找不到适用于API3及以上版本的方便解决方案!

我尝试了很多解决方案: - 使用在运行时创建的位图,但在某些显示器上它永远不会达到100% - patch9位图,但当进度接近0时,滚动条显示会完全混乱。 - 使用带有100个现有布局的addView(),它工作得很好,除了它自API7以来才可用! - 包括所有100个布局并且一次只显示一个,工作得很好,但是在我的8个不同的小部件布局中包含那些内容真是一团糟!

我尝试以编程方式使用权重,但也不可能,根据%调整视图大小的任何其他解决方案?

这是我目前使用的一个进度条布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <ImageView android:layout_weight="11" android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
    <ImageView android:src="@drawable/scale"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:layout_weight="89" />
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

到目前为止,我找到的唯一解决方案是准备好在各种Xml布局文件中使用所有可能的进度级别。

在Android API上&lt; 7,所有这些都需要包含在单个xml布局中并在运行时显示/隐藏,而在Android API&gt; = 7时,实际上可以使用addRemoteView()以更有效的方式包含所需的布局!

答案 1 :(得分:-1)

你应该使用ScrollView!您必须将其放置在布局中。默认情况下,scrollview用于Vertical Scroll。如果要水平滚动,则必须指定Horizo​​ntalScrollView。希望这有帮助