Androidアプリ開発者のためのTips集。「データベース処理が重いと感じたら」――今回は、「SQLite」データベースの処理をより効率的に実行するための便利なTipsをいくつか紹介する。
Tips 15:ボタン画像一式をまとめて定義する ボタンとして使用するビューに背景画像を設定する場合、通常時(ボタンが押される前の状態)の画像とボタンが押された際の画像を用意し、ユーザーのアクションや状態などに応じて画像を切り替えるのが一般的だ。 こうした画像切り替えはソースコード上で行うこともできるが、あらかじめリソースとしてXMLに記述してしまうのが定石だ。 今回は、ビューの状態に応じた画像切り替えを、リソースとしてXMLで定義する方法を紹介する。 ボタンの画像 一般的に、自作アプリでボタン画像を切り替える場合、ボタンが「ON」の状態と「OFF」の状態の2つの画像を用意して、ボタンが押されたら背景画像を入れ替えるといった処理を行う。 当然、ボタンのイベントを受け取り、直接ソースコード上で背景画像の入れ替え処理を行わせることも可能だが、ボタンの数や種類が多くなると画像を入れ替えたりするの
標準のボタンのデザインを変更したい。 しかし、Background を変更したらなんだかボタンぽい動きじゃなくなった。 背景画像をひとつだけ設定すると、ボタンを押しても、フォーカスしても設定された画像だけが表示されるためボタンらしい動きをしなくなります。 ボタン(Button) と トグルボタン(ToggleButton)の背景を変更する方法を紹介します。 ボタンの背景として用意しなければならないのは画像ファイルだけで5つあります。 必要がなければ作らなくてもいいんですが、最低でも2つは用意しましょう。 標準状態(フォーカスなし、押されていない) フォーカス状態 プレス状態(押されている状態) ボタンがDisableで標準状態(フォーカスなし、押されていない) ボタンがDisableでフォーカス状態 9-patch で画像を作成します。9-patch って何?というのは省略させてくださ
iPhoneのそれと比較して、よくかっこわるいと評価されてしまうAndroidですが、正しくは「標準UI同士で比べた際にイケてない」のが真実だと思っています。 今現実として、Androidアプリにイケてないものが多いのですが、そもそもデザインを考慮するプロセスが省略されてしまっていたり、時間(コスト)が無いとかそういうこともあったと思いますが、流石にこれだけメジャーなデバイスになってしまうとそれが許される時代は終わってしまいました。 ドットコム全盛期の様なGeocities+IBMホームページビルダーのデザインがはるか昔にキャハハされた様に、もうそろそろ標準UIで未カスタマイズのAndroidアプリもキャハハされる時代です。 そんな中、効率よくかっこいいUIを構築するために頭の片隅で把握しておくとちょっと幸せになれる、独断と偏見で捻りあげた10個のAndroidのUIルールを紹介します。
ガイドラインに沿ったアイコンを簡単に作成できるツールです。 「ファイルを選択...」から、白黒画像ファイルを選択してください。 Androidのアイコンを作るときには、公式で決められた、アイコンのデザインガイドラインに従う必要があります。 そのガイドラインでは、グラデーションの色や、影の付け方などが細かく決まっていて、普通に作ろうとすると結構大変です。 そこで、このツールを使えば、ペイントソフトで描いた白黒画像を選択するだけで、アイコンを生成してくれて、とても簡単。 アプリ開発はもちろん、モックの作成にも使えます。
プログラムからは TextView#setShadowLayer(float radius, float dx, float dy, int color) で、ドロップシャドウを指定できます。 例えば、元の表示がこれだとして <TextView<br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="@string/hello"<br /> android:textColor="#000"<br /> android:textSize="20sp"<br /> /><br /> グレーの影を付けるとこんな感じ <TextView<br /> android:layout_width="fill_parent"<br /> android:l
スマートフォンなどでよく見かける光沢のあるグラデーションを持ったツールバーを画像なしで作成してみる。Android ではコントロールの描画方法を drawable リソースから指定可能。これは画像と XML に大別される。 画像はデザインの自由度が高く美しいのだが解像度 (ldpi、mdpi、hdpi、...etc) と引き延ばしを意識する必要がある。詳しくは Draw 9-patch を参照のこと。有志による日本語訳はこちら。一方 XML はデザイン指定の方法がかなり限定されるため希望どおりの描画結果を得るのが難しい。 dp または dip のような密度非依存ピクセルによるサイズ指定と標準で用意されている形状・塗りは解像度に依存しないため、様々な端末への対応が容易になる。dp や dip については Supporting Multiple Screens を参照のこと。有志による日本語訳
Bitbola merupakan situs Game Online terbaik yang menyediakan beragam pilihan game slot terbaru dan terlengkap yang dapat dipercaya. Dengan koleksi permainan yang beragam, pemain tidak akan merasa bosan dan mempunyai peluang besar untuk bisa meraih kemenangan besar dan juga bonus yang menarik. Proses pendaftaran di Bitbola sangatlah mudah dan tidak dipungut biaya. Hal inilah yang membuat situs taru
Mobile designers have become more prominent in today’s extensible web. iOS and Android apps have flooded the markets and earned a lot of money for some small development studios. The smartphone era has taken off with a huge buzz, and now app designers and developers are in high demand. The local design community Dribbble often features shots from mobile designers. These include sketches and mockup
ウィジェット共通 サイズ サイズは以下の種類がある。 種類 説明 sp スクリーン上の相対的な画素サイズに合わせて調整されるピクセル。画面の解像度だけでなくユーザーが設定したフォントサイズにも依存する。 pt デバイスに依存したポイントサイズ。 dpもしくはdip デバイスから独立したポイント。1インチに160ピクセルあると仮定した際に、そこに表示するピクセル数を指定する。つまり、1インチに240ピクセルあるモニタに表示する際に100と指定すると、240/160=1.5となるため、物理モニタには150ピクセル表示される。 px 物理的なピクセルサイズ。 レイアウトにはdip、文字にはspを使うのがデバイス依存しなくてよい。以下の例で確認できる。画面の画素数に対して相対的なサイズになるため、基本的には端末が違っても同様のレイアウトになる可能性が高い。 たとえば、以下のように定義する。 <?x
Androidを触ったことのある方ならTabActivityという便利なものをご存知かと思います。 TabActivityとは、複数のアクティビティを1つの画面にまとめて、タブで管理してくれるものです。 大変素晴らしいと思います。 ただ、タブが表示される幅は固定のようで、あまり多くタブを作ってしまうと1つ1つのタブが縮小されていってしまいます。 そのため、いくつもいくつもActivityを追加できません。 また、タブの部分に横幅の広いもの(長いテキストとか)を設定したい場合も見た目的になかなか納得いかない状況に陥ったりすることがあると思います。 そんなとき、タブのエリアだけ左右にスクロールできないかな?と考えました。 Googleさんのことですので、きっとそんな機能を提供するためのプロパティがあるはずだ、と。 きっと setなんとかかんとか(true); とかするだけで、スクロール対応する
仕事の Android 開発でタブを使ったレイアウトが必要になったので、サンプルを作りながら使用方法を学んでみる。 もくじ タブの約束事 カスタマイズ 状態によって描画方法を変える タブを画面の左右に置く サンプル プログラム タブの約束事 タブを使った画面を作る場合、レイアウト指定には約束事がある。例えば画面の上側にタブのつくレイアウトの場合、以下のように指定する。 <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:background="#0094FF" android:layout_width="fill_parent" android:la
1)画面自動切り替えにより、オブジェクト情報の破棄を阻止! AndroidManifest.xml のactivityタグに、下記を追加。 <activity android:name=".ProjectName" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> また、configChangesのパラには他にもある。 ・"mcc" IMSI mobile country code (MCC) が変わったとき (つまり、SIMが検出されて、MCCがアップデートされたとき) ・"mnc" IMSI mobile network code (MNC) が変わったとき (つまり、SIMが検出されて、MNCがアップデートされたとき) ・"locale" ロケールが変わったとき(例
Androidアプリを開発しようと思って、最初に画面仕様を考えるんですが、 Androidで使えるGUIコントロールって何があるの?…と思い一覧にしてみました。 Android GUI一覧 レイアウト GUI名称 説明 AbsoluteLayout AbsoluteLayoutにViewを配置する際は、画面上の座標を直接することになる(例 x = 20, y = 30...)。部品毎に座標を指定する必要があるため、正直使い道がない。 FrameLayout 唯一つのViewを配置することができる。複数のViewを追加した場合は、古いViewは削除され新しいViewのみ表示される。 LinearLayout LinearLayoutのOrientationプロパティと、weightプロパティを使いこなせるか否で、驚くほどアプリの完成度が変わってくる。 OrientationをHorizont
Androidプログラマへの道 〜 Moonlight 明日香 〜 C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です. トップページページ一覧メンバー編集 水平方向にスクロールする 最終更新: moonlight_aska 2011年09月25日(日) 09:28:20履歴 Tweet 画面に貼り付けたウィジェットが画面からあふれた場合, そのあふれた部分は見えなくなる. そこで, 画面サイズをカバーするために, スクロール機能を実装することで, あふれた部分を見ることができるようになる. 水平方向のスクロールを行いたい場合, ホリゾンタルスクロールビュー(HorizontalScrollView)を使う. 水平方向にスクロールする. res/values/strings.xml ボタンに表示する文字列を
解像度は徐々に上がっているので、最近は xhdpi の機種がどんどん増えてきています。 Android4.0を搭載している端末のほとんどは hdpi か xhdpi になっていると思います。 近いうちに xhdpi より高い画面密度の端末が出てくるかもしれませんね。 デザインアセットは3つ用意しなければいけない! 端末の画面密度がさまざまだということがわかりましたが、 ボタンのスキンなどのようなデザインアセットは原則的に 1パーツにつき画面密度ごとに3種類用意する必要があります。 3種類とは、 mdpi と hdpi と xhdpi です(ldpiは対象端末が少ないので、重点的に対応する必要はないと思います)。 画面密度ごとにファイルを用意しないと各端末で綺麗に表示させることができません。 ボタンスキンやアイコンなどのアセットファイルが対象になると思います。 画像ファイルのサ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く