显示壁纸
思路:在/res/values/styles.xml中添加一个继承于android:Theme.Wallpaper的Theme,然后再activity中使用它
关键代码:
1.定义一个theme:
<!--/res/values/styles.xml下-->
<style
name="myTheme"
parent="android:Theme.Wallpaper">
<!-- windowNoTitle属性设置为true,去掉标题栏 -->
<item name="android:windowNoTitle">true</item>
</style>
2.在AndroidManifest.xml中使用myTheme:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<!-- 设置activity的theme为myTheme -->
<activity
android:name="com.example.xiaoxionglauncher.MainActivity"
android:theme="@style/myTheme"
android:label="@string/app_name" >
<intent-filter>
<!-- 决定应用程序最先启动的Activity -->
<action android:name="android.intent.action.MAIN" />
<!-- 决定应用程序是否显示在程序列表里 -->
<category android:name="android.intent.category.LAUNCHER" />
<!-- 添加了以下两行内容, 把应用程序设置为home-->
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
设置壁纸
思路:向系统发送一个设置请求,其他交给系统处理
//在MainActivity.java中添加
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId)
{
case R.id.action_settings:
onSetWallpaper(gridview);
return true;
}
return false;
}
private void onSetWallpaper(View view)
{
//生成一个设置壁纸的请求
final Intent pickWallpaperIntent=new Intent(Intent.ACTION_SET_WALLPAPER);
Intent chooserIntent=Intent.createChooser(pickWallpaperIntent,"设置壁纸");
//发送设置壁纸的请求
startActivity(chooserIntent);
}
In 2015-05-28 03:07 By xiongda