2011-09-27 10 views
0

ホーム画面ウィジェットに垂直スクロールバーを置く必要があり、何度も検索した後、API3以上で便利な解決策を見つけることができません!Android:ホーム画面ウィジェットに垂直方向の進行状況バーを追加するには?

私は多くのソリューションを試してみました: - 実行時に作成したビットマップを使用して、いくつかのディスプレイ上では100% 達することはありません - patch9ビットマップを、しかし進展は0に近いとき、スクロールバーの表示が完全に台無しにされます。 - 既存の100個のレイアウトでaddView()を使用すると、それは素晴らしいですが、API7以降でのみ使用可能です。 - 100個のレイアウトをすべて含み、一度に1つだけを表示するとうまくいきますが、私の8つの異なるウィジェットレイアウトにそれらを含めるのは難しいです!

プログラムでウェイトを使用しようとしましたが、%に基づいてビューのサイズを変更する方法はありません。ここで

私が現在使用して1つのプログレスバーのレイアウトです:

<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> 

答えて

0

これまでに私が見つけた解決策は、さまざまなXmlレイアウトファイルで使用できるすべての進捗レベルを準備することでした。

Android API < 7では、すべてが1つのxmlレイアウトに含まれ、実行時に表示/非表示にする必要があります。一方、Android API> = 7では、実際にaddRemoteView()はるかに効率的な方法で!

-1

あなたはScrollView使用する必要があります!これをレイアウト内に配置する必要があります。デフォルトでは、スクロールビューは垂直スクロールです。水平スクロールが必要な場合は、Horizo​​ntalScrollViewを指定する必要があります。これが役に立ちますようにお願いします。

+0

私はスクロールビューではなく、実行時にバッテリレベル(または他のデータ)を表すために設定できる垂直方向のプログレスバーを探しています。今のところ、100%のレイアウトファイルを上記のものとして使用して、0%から100%までの進捗バーと一致させています。非常に重く、少なくとも動作しますが、色を変更することはできません。 – 3c71

関連する問題