AndroidアプリのUIパーツを作りたいがIllustratorやPhotoshopは高くて個人では手が出ないのでInkspaceを使ってみることにしました。
Inkspaceを使うにはXQuartzのインストールも必要になります。
まずは
ここからInkspaceの.dmgファイルをダウンロード。
2013/12/26現在の最新版は「10.6, Snow Leopard — Universal .dmg」とSnow Leopard用になっていますがMavericksでも動きました。
次にここからXQuartzの最新版をダウンロード。
以前はMacOSにX11が含まれていたが、いつの頃からか含まれなくなったので別途XQuartzを入れる必要がある。
InkspaceとXQuartzの.dmgを開いてそれぞれインストール。XQuartzのインストール後はOSの再起動が必要。
OS再起動後にInkspaceを起動するとX11の場所を聞いてくる。アプリケーション→ユーティリティの中にXQuartzがあるので選択。
その後、しばらく…いや結構待つとInkspaceが起動する。
よし、まずはアイコン作るぞ!
2013年12月27日金曜日
2013年12月24日火曜日
画面の輝度を変更する
Androidで画面の明るさを変更する方法を調べました。
現在のWindowの明るさを変更する方法とシステム設定を変更する方法の2種類を紹介。
1. 現在のWindowの明るさを変更する方法
この方法では現在のWindow(通常はActivity)の明るさのみを変更するので、ホーム画面や他のアプリに移動すると元の明るさに戻ってしまう。
LayoutParams.screenBrightness の値を読み書きする。値の範囲は 0.0〜1.0。
ただし、0.0を設定するとアプリの挙動がおかしくなる機種があるので注意が必要。
Xperia AXだと0.0にするとアプリが操作できなくなってしまいました。クラッシュしている訳でもなく不思議な挙動…。
Windowの明るさを取得
2. システムの明るさ設定を変更する方法
上記の方法ではホーム画面や他のアプリに移動すると元の明るさに戻ってしまう。Settings.Systemの値を変更することで システム全体の明るさを変更可能。
システム設定を変更するためには、まず、AndroidManifest.xml にパーミッションの追加が必要。
システム設定の明るさを取得
スライダバーで明るさを変更するアプリ等を考えると、スライダバー操作中に実際に画面の明るさを変えユーザにフィードバックを返した方がわかりやすい。その場合は、1.のWindowの明るさを変更する方法と合わせて使うことで、すぐにユーザにフィードバックを返すことができる。
現在のWindowの明るさを変更する方法とシステム設定を変更する方法の2種類を紹介。
1. 現在のWindowの明るさを変更する方法
この方法では現在のWindow(通常はActivity)の明るさのみを変更するので、ホーム画面や他のアプリに移動すると元の明るさに戻ってしまう。
LayoutParams.screenBrightness の値を読み書きする。値の範囲は 0.0〜1.0。
ただし、0.0を設定するとアプリの挙動がおかしくなる機種があるので注意が必要。
Xperia AXだと0.0にするとアプリが操作できなくなってしまいました。クラッシュしている訳でもなく不思議な挙動…。
Windowの明るさを取得
WindowManager.LayoutParams lp = getWindow().getAttributes();
float value = lp.screenBrightness;
Windowの明るさを設定
float brightness = 0.5f; // [0.0-1.0]
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);
2. システムの明るさ設定を変更する方法
上記の方法ではホーム画面や他のアプリに移動すると元の明るさに戻ってしまう。Settings.Systemの値を変更することで システム全体の明るさを変更可能。
システム設定を変更するためには、まず、AndroidManifest.xml にパーミッションの追加が必要。
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>その後、Settings.SystemのSCREEN_BRIGHTNESSの値を読み書きする。値の範囲は0から255で255が最も明るい。
システム設定の明るさを取得
int value = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);システム設定の明るさを設定
int value = 255; // 0〜255の値を設定 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, value);上記でシステム設定を変更してもすぐに変更が反映されず、ホーム画面や他のアプリに移動したときに反映される。
スライダバーで明るさを変更するアプリ等を考えると、スライダバー操作中に実際に画面の明るさを変えユーザにフィードバックを返した方がわかりやすい。その場合は、1.のWindowの明るさを変更する方法と合わせて使うことで、すぐにユーザにフィードバックを返すことができる。
Android OSバージョンとAPIレベルの対応表
AndroidManifest.xmlとかを書くときによく調べるのでメモ。
0S Version | API Level | Code Name |
---|---|---|
Android 4.4 | 19 | KITKAT |
Android 4.3 | 18 | JELLY_BEAN_MR2 |
Android 4.2 | 17 | JELLY_BEAN_MR1 |
Android 4.1 | 16 | JELLY_BEAN |
Android 4.0.3-4.0.4 | 15 | ICE_CREAM_SANDWICH_MR1 |
Android 4.0-4.0.2 | 14 | ICE_CREAM_SANDWICH |
Android 3.2 | 13 | HONEYCOMB_MR2 |
Android 3.1 | 12 | HONEYCOMB_MR1 |
Android 3.0 | 11 | HONEYCOMB |
Android 2.3.3-2.3.7 | 10 | GINGERBREAD_MR1 |
Android 2.3-2.3.2 | 9 | GINGERBREAD |
Android 2.2 | 8 | FROYO |
Android 2.1 | 7 | ECLAIR_MR1 |
Android 2.0.1 | 6 | ECLAIR_0_1 |
Android 2.0 | 5 | ECLAIR |
Android 1.6 | 4 | DONUT |
Android 1.5 | 3 | CUPCAKE |
Android 1.1 | 2 | |
Android 1.0 | 1 |
登録:
投稿
(
Atom
)