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 |
2013年9月24日火曜日
ListViewの要素の高さを固定する
AndroidのListViewの要素の高さを固定するには layout_height だけではなく、
minHeight も設定する必要がある。
minHeight も設定する必要がある。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="60dp"
android:minHeight="60dp"
android:orientation="horizontal" >
... 省略...
<LinearLayout>
2013年9月1日日曜日
Eclipseで補完が効かないときの対処方法
MacのEclipseでコード補完が効かなくなってしまった。
補完しようとすると「No Default Proposals」出て肝心の補完候補が出ない。
環境設定のキーバンドをいじっても改善せず。
調べてみたところ eclipse の設定ファイルがおかしくなっているようでした。
対処方法:
workspace の「.metadata/.pluging/org.eclipse.core.runtime/.settings」フォルダにある
「ogr.eclipse.jdt.ui.prefs」ファイルの
「content_assist_disabled_computers」
というパラメータをコメントアウト(行頭に # を付ける)。
Eclipse を再起動するとコード補完ができるようになりました。
補完しようとすると「No Default Proposals」出て肝心の補完候補が出ない。
環境設定のキーバンドをいじっても改善せず。
調べてみたところ eclipse の設定ファイルがおかしくなっているようでした。
対処方法:
workspace の「.metadata/.pluging/org.eclipse.core.runtime/.settings」フォルダにある
「ogr.eclipse.jdt.ui.prefs」ファイルの
「content_assist_disabled_computers」
というパラメータをコメントアウト(行頭に # を付ける)。
Eclipse を再起動するとコード補完ができるようになりました。
2013年7月13日土曜日
Androidアプリのデジタル署名に必要な証明書の作成
Google Playにアプリを公開するためには apk ファイルにデジタル署名をする必要があります。
今回はそのデジタル署名に必要な証明書の作成方法を説明します。
keytool コマンドを使います。
下記の例ではエイリアス名 ash、有効期限10000日の証明書を作ります。
結果は ash.keystore というファイルに出力されます。
環境によって聞かれる内容が多少違うようです。上記はMacの例。
Eclipseでapkファイルを生成するときに上記ファイル(ash.keystore)を指定し、エイリアス名、パスワードを入力すれば署名されたapkファイルが作成されます。
今回はそのデジタル署名に必要な証明書の作成方法を説明します。
keytool コマンドを使います。
下記の例ではエイリアス名 ash、有効期限10000日の証明書を作ります。
結果は ash.keystore というファイルに出力されます。
$ keytool -genkey -v -keystore ash.keystore -alias ash -keyalg RSA -validity 10000 キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 姓名を入力してください。 [Unknown]: ash 組織単位名を入力してください。 [Unknown]: ash 組織名を入力してください。 [Unknown]: ash 都市名または地域名を入力してください。 [Unknown]: shinagawa 州名または地方名を入力してください。 [Unknown]: tokyo この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: jp CN=ash, OU=ash, O=ash, L=shinagawa, ST=tokyo, C=jp でよろしいですか? [no]: yes 10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています ディレクトリ名: CN=ash, OU=ash, O=ash, L=shinagawa, ST=tokyo, C=jp <ash> の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): 新規パスワードを再入力してください: [ash.keystore を格納中] $
環境によって聞かれる内容が多少違うようです。上記はMacの例。
Eclipseでapkファイルを生成するときに上記ファイル(ash.keystore)を指定し、エイリアス名、パスワードを入力すれば署名されたapkファイルが作成されます。
2013年2月7日木曜日
Androidのハードウェアアクセラレーション設定
WebViewのAOS2.3.4だとサクサクなのにICS端末だと激重だったので調べてみた。
AOS 3.0以降からハードウェアアクセラレーションの設定が増えていてデフォルトでdisableになっているっぽい。有効にするには AndroidManifest.xml に android:hardwareAccelerated="true" を追加する。applicationやactivityタグに設定可能。
<application android:hardwareAccelerated="true">
...
</application>
のようにapplicationタグに設定するとアプリ全体に設定可能。
<application android:hardwareAccelerated="true">
<activity android:hardwareAccelerated="false">
</application>
とすると、特定のアクティビティだけoffにすることも可能。
AOS 3.0以降からハードウェアアクセラレーションの設定が増えていてデフォルトでdisableになっているっぽい。有効にするには AndroidManifest.xml に android:hardwareAccelerated="true" を追加する。applicationやactivityタグに設定可能。
<application android:hardwareAccelerated="true">
...
</application>
のようにapplicationタグに設定するとアプリ全体に設定可能。
<application android:hardwareAccelerated="true">
<activity android:hardwareAccelerated="false">
</application>
とすると、特定のアクティビティだけoffにすることも可能。
2013年1月27日日曜日
Sublime Text 2 で TypeScript のシンタックスハイライト
MSが公開している定義ファイルを使う。
Interoperability @ Microsoft MSDN Blogs - Sublime Text, Vi, Emacs: TypeScript enabled!
から Sublimeのアイコンをクリックしてzipをダウンロード。
zipの中に入っている typescript.tmLanguage をSublime TextのPackagesフォルダにコピー。
PackagesフォルダはSublimeの [Preferences] → [Browse Packages] で表示されるフォルダ。
Windows 7だと
C:\Users\[ユーザ名]\AppData\Roaming\Sublime Text 2\Packages
になっているっぽい。
Sublime Text 2を再起動すればOK!
・・・のはずが反映されない。
作成済みのファイルはなぜかハイライトが効かない場合があるようです。
新規にSublimeで作成したファイルは大丈夫。
Interoperability @ Microsoft MSDN Blogs - Sublime Text, Vi, Emacs: TypeScript enabled!
から Sublimeのアイコンをクリックしてzipをダウンロード。
zipの中に入っている typescript.tmLanguage をSublime TextのPackagesフォルダにコピー。
PackagesフォルダはSublimeの [Preferences] → [Browse Packages] で表示されるフォルダ。
Windows 7だと
C:\Users\[ユーザ名]\AppData\Roaming\Sublime Text 2\Packages
になっているっぽい。
Sublime Text 2を再起動すればOK!
・・・のはずが反映されない。
作成済みのファイルはなぜかハイライトが効かない場合があるようです。
新規にSublimeで作成したファイルは大丈夫。
登録:
投稿
(
Atom
)