在两个文本视图之间定位搜索栏不起作用

时间:2013-10-04 07:10:54

标签: android

我有一个位于两个文本视图之间的搜索栏,但它没有按要求显示。下面是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>

上面的结果就像一个观点 enter image description here

然而,这是理想的结果 enter image description here

我哪里错了?我不想硬编码seekbar的layout_width,应该改变什么?

3 个答案:

答案 0 :(得分:4)

使用** android:weightSum android: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>

答案 1 :(得分: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>

答案 2 :(得分:0)

将以下属性分配给搜索栏。

android:layout_width="0dp"
android:layout_weight="1"

此处TextViews会自行封装,搜索栏将占用最大宽度。