ボタンのデザインをxmlで定義する
システム開発のアイロベックスは、創業23年を迎える
プロフェッショナル集団です。
当社への地図
アイロベックス トップ
>
システム開発ブログ
>
ボタンのデザインをxmlで定義する
シェア
ボタンのデザインをxmlで定義する
千葉
(
2012年1月31日 12:00
)
システム開発事業部
システム開発事業部の千葉です。
Androidアプリを作るにあたり、ボタンの見た目を変えたいといった場合に、
よく使うのが背景用の画像を用意する方法ですが、
画面サイズの異なる端末をサポートしようとした場合、
どの端末の解像度に合わせるか、といった問題が出てきます。
そこで、今回はグラデーションを使用し、
ボタンのスタイルを定義する方法をご紹介します。
コードはこちらです。
■style1.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#999999"
android:centerColor="#DDDDDD"
android:endColor="#222222"
android:type="linear" />
<corners
android:radius="5dp" />
<stroke
android:width="3dp"
android:color="#000000"/>
</shape>
</item>
</selector>
■style2.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#EEEEEE"
android:endColor="#555555"
android:type="linear" />
<corners
android:radius="5dp" />
<stroke
android:width="3dp"
android:color="#000000"/>
</shape>
</item>
</selector>
■main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/style1"
android:text="Button2" />
<Button
android:id="@+id/button3"
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/style2"
android:text="Button3" />
</LinearLayout>
実行した結果がこちらになります。
一番上が標準のボタン、二番目、三番目が今回作成したボタンです。
この方法であれば画面の解像度に依存することもありませんし、
さほど手間をかけずに見た目を変更できるので、
一つの方法として覚えておいて損はないと思います。
システム開発ブログ
システム開発ブログトップ
最近の記事
BASP21からBASP21proへの切替時注意点(メール送信処理)
2012 Japan IT Week 春 に行ってきました
株式会社 穂波さま ホームページリニューアル
Googleカレンダーか手帳か?
ファイルサーバー リソースマネージャで重複ファイルを探し出せ!
図形の順序が変更されない(Office)
【Googleドライブ登場】結局、ストレージサービスはどれがいいのか比較してみる。
お客さまの印象に残るためのお助けツール
簡単にストライプ素材を作れるツール『Stripe Generator(ストライプジェネレーター)』
お客さま先に常駐して考えたこと
カテゴリー
API (1)
Access (16)
Android (7)
ECサイト (1)
Excel (10)
Google Apps (8)
GoogleMap (1)
HTML5 (3)
HTML全般 (5)
JAVA (14)
Linux (7)
Movable Type (18)
MySQL (8)
OpenOffice (10)
Oracle (8)
PHP (25)
SQLServer (7)
VBA (11)
Webサイト構築・Web戦略 (35)
Webサイト構築事例 (7)
Windows (13)
.NET (14)
iPhone (12)
twitter (6)
その他 (36)
アクセス解析 (2)
ウィジェット (1)
システム設計 (6)
システム開発事例 (3)
システム開発体制 (1)
セキュリティ (5)
データベース (20)
ネット通販 (1)
プロジェクト管理 (11)
品質管理・テスト (8)
帳票 (3)
技術活用 (6)
楽天 (1)
販売管理 (1)
運用・保守 (10)
部署
流通システム部 (76)
産業システム部 (93)
ソフトウエア開発部 (56)
Webコンサルティング部 (118)
企画開発部 (41)
システムソリューション事業部 (62)
ビジネスソリューション課 (27)
システム開発事業部 (56)
部長インタビュー (3)
月別アーカイブ
2012年5月 (10)
2012年4月 (23)
2012年3月 (25)
2012年2月 (25)
2012年1月 (24)
2011年12月 (22)
2011年11月 (24)
2011年10月 (29)
2011年9月 (28)
2011年8月 (5)
2011年7月 (18)
2011年6月 (15)
2011年5月 (21)
2011年4月 (8)
2011年3月 (12)
2011年2月 (12)
2011年1月 (13)
2010年12月 (18)
2010年11月 (19)
2010年10月 (19)
2010年9月 (21)
2010年8月 (17)
2010年7月 (21)
2010年6月 (22)
2010年5月 (14)
2010年4月 (12)
2010年3月 (13)
2010年2月 (9)
2010年1月 (12)
2009年12月 (7)
2009年11月 (6)
2009年10月 (8)
2009年9月 (7)
2009年8月 (3)
2009年7月 (1)
2009年6月 (3)
2009年5月 (1)
2009年4月 (1)
2009年3月 (8)
2009年2月 (10)
2009年1月 (1)
2008年12月 (1)
以前の部署別ブログ
システム事業部
ソフトウェア開発部
ITプロフェッショナル部
企画マーケティング部
検索
このブログを購読
ボタンのデザインをxmlで定義する
千葉 (2012年1月31日 12:00)
システム開発事業部
Androidアプリを作るにあたり、ボタンの見た目を変えたいといった場合に、
よく使うのが背景用の画像を用意する方法ですが、
画面サイズの異なる端末をサポートしようとした場合、
どの端末の解像度に合わせるか、といった問題が出てきます。
そこで、今回はグラデーションを使用し、
ボタンのスタイルを定義する方法をご紹介します。
コードはこちらです。
■style1.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#999999"
android:centerColor="#DDDDDD"
android:endColor="#222222"
android:type="linear" />
<corners
android:radius="5dp" />
<stroke
android:width="3dp"
android:color="#000000"/>
</shape>
</item>
</selector>
■style2.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#EEEEEE"
android:endColor="#555555"
android:type="linear" />
<corners
android:radius="5dp" />
<stroke
android:width="3dp"
android:color="#000000"/>
</shape>
</item>
</selector>
■main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/style1"
android:text="Button2" />
<Button
android:id="@+id/button3"
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/style2"
android:text="Button3" />
</LinearLayout>
実行した結果がこちらになります。
一番上が標準のボタン、二番目、三番目が今回作成したボタンです。
この方法であれば画面の解像度に依存することもありませんし、
さほど手間をかけずに見た目を変更できるので、
一つの方法として覚えておいて損はないと思います。