タグ「XML」 の検索結果(1/1)

2011年12月 3日

XML Drawable onlyでドロイド君を描いてみた

以前のエントリ「XMLなDrawableを使ってみよう」でも取り上げましたが、AndroidのXMLで表現できるDrawableはそこそこ強力です。

そんなわけでXML onlyでドロイド君を描いてみました。

xmldroid.png

画像だけだと微妙にイケてないドロイド君にしか見えませんね(。x。)

ソースは続きからどうぞ、JavaコードやPNG等の画像ファイルは一切書いておりません。

直線描けなかったからツノが酷いことになったよ!さっさとSVGネイティブ対応しろし!

続きを読む "XML Drawable onlyでドロイド君を描いてみた"

2011年6月22日

Layout XML Snippet Project

xmlsnippet0.png

http://twitter.com/#!/youten_redo/status/82821165978103808
とか言ってたのですが。

画面キャプチャを手助けするまとめアプリを先に作ってみることにしました。

続きを読む "Layout XML Snippet Project"

2010年9月26日

Styleを使おう

Androidでは大半のレイアウト、UI構造をXMLで記載しますが、きちんとStyleを使うとコードがすっきりする上に、同様の画面を複数つくった際の調整コストが大きく下がりますよ、と。

参考:
Android developers:Applying Styles and Themes
http://developer.android.com/guide/topics/ui/themes.html
mucchinのAndroid戦記:Androidアプリで使う文字列のスタイルを統一する方法
http://android.roof-balcony.com/resource/style/

以下の様な画面を「Styleなし」と「Styleあり」で作成した際にどうなるかを記します。

xml1.png

続きを読む "Styleを使おう"

2010年9月 8日

SyntaxHighlighterでXML表示イクナイ

昨日書いたXMLなDrawableを使ってみようで気づいたのですが、SyntaxHighlighterのXML(brush:xml)はバグがあって微妙です。

【現象】
・タグが小文字になってしまう。
・閉じタグなし(Empty Closed Element)の解釈がおかしくて、変なところに勝手に閉じタグが入ってしまう。

同じことで困ってる人はいっぱい居る様です。
http://bitbucket.org/alexg/syntaxhighlighter/issues?q=xml

ソースをざっと見た限りでは(中途半端な)xhtml最適化であって、xml向けbrushでは決してなさそうです。

Javascript code prettifier
http://google-code-prettify.googlecode.com/svn/trunk/README.html

に乗り換えてみる。

...ダメでした。orz

2010.09.25追記:SyntaxHighlighter+&lt;&gt;等のエスケープを丁寧にしてやって、タグの<と>を消すのが妥当な様です。横着はいけませんということで。

2010年9月 7日

XMLなDrawableを使ってみよう

AndroidのDrawableにはPNGとかJPGとか直接放り込んだり、あるいは押したり離したり選択されたりとか言った、状態付きButtonをXMLで...ぐらいがよく使われるトコロですが、意外なモノがDrawableの範疇にあったりします。

Drawable Resources
http://developer.android.com/guide/topics/resources/drawable-resource.html

で、このうち最後のShape Drawableというものが、塗りとか線とかがかけます。

shapeとかgradientとかみてもさっぱりだと思うので、実例を以下に。

たとえば、グラデーション背景+小物みたいな以下の画像があったとします。

car.png

これを普通にImageViewではっつけると、こうなります。

car_cap1.png

で、背景部分だけサイズ可変にしたいとか、そもそも画面解像度が上がってくると、この様な単純なグラデーションPNGやJPGでも、ファイルサイズが意外とバカにできません。

そんな際には、XMLでDrawableを書いてしまいます。

drawable/blueback.xml


<?xml version="1.0" encoding="utf-8"?>
<!-- blue-naname-grade -->
<shape
	xmlns:android="http://schemas.android.com/apk/res/android">
	<gradient
			android:startColor="#55AAFF"
			android:endColor="#0022FF"
			android:angle="135"
	/>
</shape>

layout/main.xml


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:background="@drawable/blueback">
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:background="@drawable/pat_tiled">

		<ImageView
			android:src="@drawable/car1"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center"
			android:layout_weight="1"
			android:scaleType="center" />
		<ImageView
			android:src="@drawable/car2"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center"
			android:layout_weight="1"
			android:scaleType="center" />
	</LinearLayout>
</FrameLayout>

背景を除いた小物部分は別途ちまちまと張ってください。

car_cap2.png

するとこうなります。

drawableはどこまでも可変ですから、横にしてもグラデーションは問題ありません。

car_cap3.png

※小物が変なのは突っ込んじゃいけません><

XMLなdrawableと、tiledなXML drawableを組み合わせると...。

pat1.png

car_cap4.png

こんなことにもなります。

どこまで実画像でやって、どこまでXMLでやって、どこまでコードでやるかはセンスの問題だと思いますが、個人的には慣れれば慣れるほど小物XMLがdrawable、include、inflate用に増えていく気がします。広義のオブジェクト指向というか...。

P.S. SyntaxHighlighterがおかしいらしく、XMLが変です。自己閉じ型が勝手に変な変換される...。