在锁定屏幕Android上实例化小部件布局

时间:2014-09-12 00:25:23

标签: android widget locking screen lockscreen

我已经看过关于锁屏小部件的其他帖子。我知道4.2是拥有锁屏API的最新版本。

我的问题是我创建了一个xml:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dip"
    android:minHeight="72dip"
    android:updatePeriodMillis="0"
    android:initialLayout="@layout/keyguard"
    android:widgetCategory="keyguard">
</appwidget-provider>

和布局:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/keyguard"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/black" >

    <RelativeLayout
        android:id="@+id/appwidget"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:id="@+id/controls"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center">

            <ImageButton
                android:id="@+id/control_play_pause"
                android:layout_width="100dip"
                android:layout_height="wrap_content"
                android:background="@null"
                android:src="@drawable/ic_media_play_dim"
                android:paddingTop="1dip"
                android:paddingBottom="1dip"
                android:scaleType="centerInside" />

            <ImageView
                android:background="@android:color/white"
                android:layout_width="1dip"
                android:layout_height="20dip" />

            <ImageButton
                android:id="@+id/control_stop"
                android:layout_width="100dip"
                android:layout_height="wrap_content"
                android:background="@null"
                android:src="@drawable/ic_media_stop_dim"
                android:paddingTop="1dip"
                android:paddingBottom="1dip"
                android:scaleType="centerInside" />

        </LinearLayout>

    </RelativeLayout>

</FrameLayout>

我对提供者并不完全清楚(但我已经制作了一个并将其添加到AndroidManifest.xml中),所以任何帮助都将受到赞赏。现在,我只想在锁定屏幕上显示该布局(只是一个简单的媒体播放器控件)。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您只需要可自定义的媒体控制按钮,则可以使用RemoteControlClient自动将音乐控件发布到锁定屏幕。可以使用RemoteControlClient.setTransportControlFlags方法自定义控件,传入与要显示的按钮关联的标记。