利用Android 自訂的懸浮播放器執行個體

來源:互聯網
上載者:User

在這個工程中最為重要的就是player.xml和ObjectActivity了

首先是播放器這個控制項的布局,開始我試著用各種布局都沒有能完成我要的效果,因為我用的進度顯示是自訂的seekbar似乎它預設會在上下留一定的空白,所以我最後只好用絕對布局了,因為播放器的大小是固定的而且它不依賴於父控制項的大小所以這種布局效果還不錯

player.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:id="@+id/slidingDrawer1"    android:layout_width="fill_parent"    android:layout_height="fill_parent" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="60dp"        android:layout_alignParentBottom="true"        android:layout_alignParentLeft="true"        android:baselineAligned="false"        android:orientation="horizontal" >        <AbsoluteLayout            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1"            android:orientation="vertical" >            <RelativeLayout                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:layout_x="0dp"                android:layout_y="8dp" >                <LinearLayout                    android:id="@+id/content"                    android:layout_width="wrap_content"                    android:layout_height="52dp"                    android:background="@drawable/img_player_bacakground"                    android:gravity="center_vertical"                    android:orientation="horizontal"                    android:visibility="visible" >                    <ImageButton                        android:id="@+id/ibn_start_suspend"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:layout_marginLeft="18dip"                        android:background="@drawable/bnx_suspend" />                    <ImageButton                        android:id="@+id/ibn_previous"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:layout_marginLeft="18dip"                        android:background="@drawable/bnx_previous" />                    <ImageButton                        android:id="@+id/ibn_next"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:layout_marginLeft="18dip"                        android:background="@drawable/bnx_next" />                    <TextView                        android:id="@+id/tv_songname"                        android:layout_width="160dp"                        android:layout_height="wrap_content"                        android:layout_marginLeft="5dip"                        android:layout_marginRight="5dip"                        android:background="@drawable/img_player_kuang"                        android:ellipsize="marquee"                        android:focusable="true"                        android:focusableInTouchMode="true"                        android:gravity="center"                        android:marqueeRepeatLimit="marquee_forever"                        android:scrollHorizontally="true"                        android:singleLine="true"                        android:textSize="16sp" />                    <ImageButton                        android:id="@+id/ibn_mode"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:background="@drawable/bnx_cycle" />                </LinearLayout>                <ImageButton                    android:id="@+id/hand"                    android:layout_width="wrap_content"                    android:layout_height="fill_parent"                    android:layout_toRightOf="@id/content"                    android:background="@drawable/img_arrow_left" />            </RelativeLayout>            <SeekBar                android:id="@+id/pb"                style="@style/SeekBar"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:layout_x="0dp"                android:layout_y="-5dp" />        </AbsoluteLayout>    </LinearLayout></RelativeLayout>

接下來是ObjectActivity

它繼承於Activity添加這麼一層是為了讓希望擁有這個懸浮mini播放器的類獲得而不需要有的類不需要繼承此類

最後是自訂seekbar所使用的style

看一下:

    

 

源碼下載:懸浮mini音樂播放器.zip

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.