の場合、個々の要素にある種の進行状況インジケーター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
ますが、特にプログラムではなく、その方法がわかりません。
どんな助けでも大歓迎です!