SeekBar位于Android的布局顶部

时间:2014-01-06 15:11:37

标签: android eclipse android-layout layout seekbar

我想重现Google音乐应用程序的SeekBar位置,但我找不到办法。我试过填充和边距但没有成功。

以下是我要重现的内容:

这是我的实际布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"/>

    <RelativeLayout
        android:id="@+id/music_player"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:background="#BBBBBB">

        <SeekBar
            android:id="@+id/musicSeekBar"
            android:layout_width="fill_parent"
            android:layout_height="35dp"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="5dp"
            android:layout_toLeftOf="@+id/duration"
            android:layout_toRightOf="@+id/played" />

        <ToggleButton
            android:id="@+id/playPauseButton"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/ic_play_pause"
            android:textOff=""
            android:textOn="" />

        <TextView
            android:id="@+id/songName"
            android:layout_width="fill_parent"
            android:layout_height="20dp"
            android:layout_above="@+id/musicSeekBar"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:gravity="center_vertical|center_horizontal"
            android:text="TextView" />

        <TextView
            android:id="@+id/played"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/playPauseButton"
            android:layout_alignBottom="@+id/playPauseButton"
            android:layout_marginRight="5dp"
            android:layout_toRightOf="@+id/playPauseButton"
            android:text="00:00" />

        <TextView
            android:id="@+id/duration"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/played"
            android:layout_alignBottom="@+id/played"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:text="00:00" />

        <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:visibility="invisible" />

    </RelativeLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

您需要将ViewPager与SeekBar重叠。实现这一目标的最简单方法是将ViewPager和SeekBar放在同一个RelativeLayout中,SeekBar的负值为android:layout_marginTop

在你的布局中,将LinearLayout替换为具有三个子节点的RelativeLayout可能是最简单的:ViewPager,嵌套的RelativeLayout和Seekbar。