2

簡単に言えば、次のように、テキストが表示されたプログレスバーがあります。

<ProgressBar
    android:id="@+id/progressbar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"    
     />

<TextView
    android:id="@+id/text_on_progressbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/progressbar"
    android:layout_alignLeft="@+id/progressbar"
    android:text="text"
/>

問題は、「テキスト」を現在の進行状況のすぐ左側にのみ表示させたいということです。したがって、現在のエンドポイントに対して正しく正当化されます。これを行う方法についてのアイデアはありますか?したがって、テキストは進行状況に沿って移動します。

それで、表示された進行状況の現在の端点のピクセル座標を見つける方法はありますか?そうすれば、テキストビューを動的に配置できます。

または、実際にprogressbar.xml自体にアクセスして、これを編集する方法はありますか?

4

1 に答える 1

3

ビュー全体の幅と現在の進行状況から、表示された進行状況の終点を計算できます。簡単な例: ビューの幅が 400 ピクセルで、進行状況が 50% の場合、エンドポイントは 400 の 50%、つまり 200 になります (もちろん、進行状況ビューの左の位置、例えばマージンやパディング ...)

于 2012-09-17T19:06:02.340 に答える