1

2 つのテキストビューの間にシーク バーを配置しましたが、希望どおりに表示されません。以下はXMLです

  <LinearLayout
    android:id="@+id/timerDisplay"
    android:layout_width="fill_parent"
    android:layout_height="80dp"
    android:orientation="horizontal" >

    <!-- Current Duration Label -->
    <TextView 
        android:id="@+id/songCurrentDurationLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:text="12.00"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:textColor="#eeeeee"
        android:textStyle="bold"/>

    <SeekBar
        android:id="@+id/songProgressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:progressDrawable="@drawable/seekbar_progress"
        android:thumb="@drawable/seek_handler" />

    <!-- Total Duration Label -->
    <TextView 
        android:id="@+id/songTotalDurationLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="10.00"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:textColor="#04cbde"
        android:textStyle="bold"/>
  </LinearLayout>

上記の結果は次のようなビューになります ここに画像の説明を入力

ただし、これは望ましい結果です ここに画像の説明を入力

どこが間違っていますか?シークバーの layout_width をハードコーディングしたくないのですが、何を変更すればよいですか?

4

3 に答える 3

4

**android:weightSumandroid:layout_weight**を使用します

<LinearLayout
    android:id="@+id/timerDisplay"
    android:layout_width="fill_parent"
    android:layout_height="80dp"
    android:orientation="horizontal"
    android:weightSum="100" >

    <!-- Current Duration Label -->
    <TextView 
        android:id="@+id/songCurrentDurationLabel"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:text="12.00"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:textColor="#eeeeee"
        android:textStyle="bold"
        android:layout_weight="10"/>

    <SeekBar
        android:id="@+id/songProgressBar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:progressDrawable="@drawable/seekbar_progress"
        android:thumb="@drawable/seek_handler"
        android:layout_weight="80" />

    <!-- Total Duration Label -->
    <TextView 
        android:id="@+id/songTotalDurationLabel"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="10.00"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:textColor="#04cbde"
        android:textStyle="bold"
        android:layout_weight="10"/>
  </LinearLayout>
于 2013-10-04T07:15:52.913 に答える
1

以下のコードを試してください:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/timerDisplay"
    android:layout_width="fill_parent"
    android:layout_height="80dp"
    android:orientation="horizontal" >

    <!-- Current Duration Label -->

    <TextView
        android:id="@+id/songCurrentDurationLabel"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:layout_weight=".40"
        android:text="12.00"
        android:textColor="#eeeeee"
        android:textStyle="bold" />

    <SeekBar
        android:id="@+id/songProgressBar"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
 android:progressDrawable="@drawable/seekbar_progress"
        android:thumb="@drawable/seek_handler"  />

    <!-- Total Duration Label -->

    <TextView
        android:id="@+id/songTotalDurationLabel"
        android:layout_width="0dp"
        android:layout_weight=".40"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:text="10.00"
        android:textColor="#04cbde"
        android:textStyle="bold" />

</LinearLayout>
于 2013-10-04T07:14:51.633 に答える