Android/ライブ壁紙作成/ランチャーボタン設置方法
提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:14時点における127.0.0.1 (トーク)による版 (ページの作成:「==設定内にランチャーボタンを設置== デフォルトで作成されるlayout/main.xmlをabout.xmlに変更 *res/AndroidManifest.xml <<nowiki />activity and...」)
設定内にランチャーボタンを設置
デフォルトで作成される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);
}
}
