Android/ライブ壁紙作成/ランチャーボタン設置方法
提供: 初心者エンジニアの簡易メモ
設定内にランチャーボタンを設置
デフォルトで作成されるlayout/main.xmlをabout.xmlに変更
- res/AndroidManifest.xml
<activity android:label="@string/app_name" android:name=".AboutActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- src/info/nonip/AndroidLiveWallService.java
package info.nonip.AndroidLiveWallService; import android.app.Activity; import android.os.Bundle; public class AboutActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
画像にする場合
- layout/about.xmlを以下のように変更
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical" android:background="#000000" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/about" android:scaleType="fitStart" android:adjustViewBounds="true" /> </FrameLayout> </LinearLayout>
左クリックで、壁紙設定ボタンを出す。
- src/AboutActivity.java
import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.Menu; import android.view.MenuItem; import android.content.Intent; import android.widget.Toast; public class AboutActivity extends Activity { /** メニューID */ private final int MENU_ID1 = Menu.FIRST; private final int MENU_ID2 = Menu.FIRST + 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // タイトルウィンドウ削除 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.about); } @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); menu.add(MENU_ID1, Menu.FIRST, Menu.NONE, "壁紙を設定する"); return result; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case MENU_ID1: Intent intent = new Intent(Intent.ACTION_MAIN); intent.setClassName("com.android.wallpaper.livepicker", "com.android.wallpaper.livepicker.LiveWallpaperListActivity"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); Toast.makeText(getApplication(), getString(R.string.app_name) + "をお選びください。", Toast.LENGTH_LONG).show(); //Activity終了 finish(); break; } return super.onOptionsItemSelected(item); } }