0

の場合、個々の要素にある種の進行状況インジケーターListViewを与えたいと考えています。いわば、進行状況バーのリストが必要です。ListViewただし、各リストビュー要素にはTextView、プログレス バーの影響を受けない形式のテキスト オーバーレイがあります。

この場合、写真は言葉よりも多くを伝えることができると思うので、ここに私が望むもののほとんどがあります:

バックグラウンド プログレス バー

個々の s に「サブレイアウト」を追加し、LinearLayoutプログラムで重みを変更できることはわかっています。これは次のようになります。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

<LinearLayout
    android:id="@leftSide"
    android:background="@color/green"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.8" >
</LinearLayout>
<LinearLayout
    android:id="@rightSide"
    android:background="@color/red"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.2" >
</LinearLayout>

</LinearLayout>

次に、両側 (完了および未完了) の重みをプログラムで変更します。

float weightLeft = 0.8f;
float weightRight = 1f-weightLeft;

android.widget.LinearLayout.LayoutParams paramsLeft = new android.widget.LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, weightLeft);
LinearLayout left = (LinearLayout) findViewById(R.id.leftside);
left.setLayoutParams(paramsLeft);

android.widget.LinearLayout.LayoutParams paramsRight = new android.widget.LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, weightRight);
LinearLayout right = (LinearLayout) findViewById(R.id.rightside);
left.setLayoutParams(paramsRight);

しかし、問題は、テキストビューを親の線形レイアウトに配置し、子を無視するにはどうすればよいLinearLayoutsですか?

を使用して背景部分の分布を分割する方法があることも想像できdrawablesますが、特にプログラムではなく、その方法がわかりません。

どんな助けでも大歓迎です!

4

1 に答える 1