Androidアプリ開発 -9patchで吹き出し画像を作る-
やりたいこと
TextViewで文字を表示させ、背景画像に吹き出し画像を設定した場合。
文字数が大きくなると文字が切れてしまいます。
そこで今回やりたいのは、
「文字数に応じて吹き出し画像を広げて表示したい」。
9patchを使えば、自動的に画像が広がってくれるということを知ったので試してみました。
9patchで画像を作成
まず9patchで画像を作成するためにインストール先にあるdraw9patch.batを起動します。
Androidandroid-sdktoolsdraw9patch.bat
利用する吹き出し画像を読み込ませます。
ここからが結構面倒なので、細かく紹介。
拡大範囲の選択
画像を拡大させる範囲をマウスを使って選択します。
手順は以下のとおりです。
(1)Show pathesチェックボックスをチェック。
(2)Zoomで画像を扱いやすサイズまで変更。
(3)マウスで画像の端(上下左右)を左クリックしドラッグ。
- ドラッグすると選択範囲が黒くなります。
※選択できるのは端だけなので、ちょっと操作しづらい点に注意です。
(4)上下左右全てに対しておこなう。
(5)Show contentチェックボックスをチェックし拡大範囲が表示されているのを確認。
上のように表示されます。
画像の保存
メニューにある「File」の「Save 9-patch」で画像を保存します。
保存すると、「ファイル名.9.png」になります。
プログラム
吹き出しを表示するTextViewの背景画像として指定します。
レイアウト例
//略 <TextView android:id="@+id/voice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/background" android:text="Medium Text" /> //略
表示例
実際に表示すると以下のようになります。
- 文字が少ない場合
- 文字が多い場合
本来の画像より小さくなるわけではありません。
そのため、元となる吹き出し画像の大きさは適切に用意する必要があります。
参考
広告
関連記事
-
MacでRuby on Railsの開発環境構築 -Apacheで動かす-
* 環境 -MacBook Air MD231J/A -Mac OS X バージョン10.8.2
-
CakePHP1.3でテストコード(2) -フィクスチャをいじってみる(テストデータの動的登録)-
cakePHP1.3でのSimpleTestを使ったテストケースの第2回目。 今回は、動的にテストデ
-
「Google Apps」無償版の新規登録が終了
以前、「Google Apps」を利用した以下の記事を書きましたが、とうとう無償版の新規登録が終了
-
アプリのためにFacebookページ作成 -会社のメールアドレスで管理する方法-
アプリを作ると、色々と宣伝をしたくなります。 宣伝の方法は色々ありますが、今回はFacebookペ
-
WordPressプラグイン「SyntaxHighlighter Evolved」が動かない!?
* 起きたこと ある時から、本ブログのコードの部分が「SyntaxHighlighter」で表示され
-
Jenkins + スマホアプリ(1) -スマホアプリ用CI環境を作ってみよう-
前回までは、iPhoneアプリでのCI環境でした。 TestFlightがAndroidアプリにも
-
iPhoneアプリにGoogle Analyticsを入れてみる -Google Analytics SDK for iOS導入-
* 導入経緯 iPhoneアプリをリリースして、を使って「ランキング」や「ダウンロード数」は適宜チ
-
str_padとsprintfの速度
PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会
-
Jenkins + iPhoneアプリ(3) -ipaファイルをTestFlightにアップロード-
* これまで - -[http://pplace.jp/2013/01/1192/:title=
-
Windows環境でもJenkins -執事さんとご対面-
Trac Lightningに同梱されていますし、Windows環境でHudsonを使っている人は結