Enviar búsqueda
Cargar
Head First XML Layout on Android
•
19 recomendaciones
•
6,463 vistas
Yuki Anzai
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 36
Descargar ahora
Descargar para leer sin conexión
Recomendados
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Miho Nakano
HTML5, きちんと。
HTML5, きちんと。
Masataka Yakura
jQuery Mobile 概要
jQuery Mobile 概要
トモロヲ いちがみ
jQuery Mobile入門
jQuery Mobile入門
Shumpei Shiraishi
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
One night Vue.js
One night Vue.js
Masahiro Kyuden
HTML5 & The Web Platform
HTML5 & The Web Platform
Masataka Yakura
Oktopartial Introduction
Oktopartial Introduction
Takeshi AKIMA
Recomendados
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Miho Nakano
HTML5, きちんと。
HTML5, きちんと。
Masataka Yakura
jQuery Mobile 概要
jQuery Mobile 概要
トモロヲ いちがみ
jQuery Mobile入門
jQuery Mobile入門
Shumpei Shiraishi
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
One night Vue.js
One night Vue.js
Masahiro Kyuden
HTML5 & The Web Platform
HTML5 & The Web Platform
Masataka Yakura
Oktopartial Introduction
Oktopartial Introduction
Takeshi AKIMA
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
Sea Mountain
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
SwapSkills
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
Atsushi Tadokoro
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
Yasuo Harada
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
Masataka Yakura
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
Yuuki Nara
WordBech Osaka No.28
WordBech Osaka No.28
Kite Koga
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
Futomi Hatano
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
yoshikawa_t
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
yoshikawa_t
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Satomi Tsujita
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Start React with Browserify
Start React with Browserify
Muyuu Fujita
View customize pluginを使いこなす
View customize pluginを使いこなす
onozaty
Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発
Kenta Tsuji
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
SwapSkills
Material Designなdrawerを実装したい
Material Designなdrawerを実装したい
shinya sakemoto
AngularJS入門
AngularJS入門
Kenji Shirane
Wp html5
Wp html5
regret raym
Life with Android - Docomo SmartPhone Lounge Event -
Life with Android - Docomo SmartPhone Lounge Event -
Yuki Anzai
Android Layout Cookbook Seminor
Android Layout Cookbook Seminor
Yuki Anzai
Más contenido relacionado
La actualidad más candente
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
Sea Mountain
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
SwapSkills
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
Atsushi Tadokoro
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
Yasuo Harada
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
Masataka Yakura
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
Yuuki Nara
WordBech Osaka No.28
WordBech Osaka No.28
Kite Koga
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
Futomi Hatano
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
yoshikawa_t
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
yoshikawa_t
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Satomi Tsujita
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
Start React with Browserify
Start React with Browserify
Muyuu Fujita
View customize pluginを使いこなす
View customize pluginを使いこなす
onozaty
Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発
Kenta Tsuji
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
SwapSkills
Material Designなdrawerを実装したい
Material Designなdrawerを実装したい
shinya sakemoto
AngularJS入門
AngularJS入門
Kenji Shirane
Wp html5
Wp html5
regret raym
La actualidad más candente
(20)
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
WordBech Osaka No.28
WordBech Osaka No.28
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Start React with Browserify
Start React with Browserify
View customize pluginを使いこなす
View customize pluginを使いこなす
Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発
Rails基礎講座 part.2
Rails基礎講座 part.2
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
Material Designなdrawerを実装したい
Material Designなdrawerを実装したい
AngularJS入門
AngularJS入門
Wp html5
Wp html5
Destacado
Life with Android - Docomo SmartPhone Lounge Event -
Life with Android - Docomo SmartPhone Lounge Event -
Yuki Anzai
Android Layout Cookbook Seminor
Android Layout Cookbook Seminor
Yuki Anzai
Android Pattern Cookbook で見るトレンドの変遷
Android Pattern Cookbook で見るトレンドの変遷
Yuki Anzai
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
Yuki Anzai
アプリのUIを改善するための7ステップ ∼Bump Recorder の UI を設計してみたよ編∼
アプリのUIを改善するための7ステップ ∼Bump Recorder の UI を設計してみたよ編∼
Yuki Anzai
Sublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEW
Yuki Anzai
User Interface 「UI ラーニング・パターン」 - ABC2014s
User Interface 「UI ラーニング・パターン」 - ABC2014s
Chihiro Tomita
ABC2013 Autumn あんざいゆき x 小太刀御禄 対談
ABC2013 Autumn あんざいゆき x 小太刀御禄 対談
Yuki Anzai
Fragment を使ってみよう
Fragment を使ってみよう
Yuki Anzai
Watch face アプリを公開してみた
Watch face アプリを公開してみた
Yuki Anzai
マルチスクリーン対応と最近のアプリの傾向
マルチスクリーン対応と最近のアプリの傾向
Yuki Anzai
Android Layout 3分クッキング
Android Layout 3分クッキング
Yuki Anzai
Adapter & ListView & ExpandalbeListView
Adapter & ListView & ExpandalbeListView
Yuki Anzai
Android Training (Android UI)
Android Training (Android UI)
Khaled Anaqwa
Fragment の利用パターン
Fragment の利用パターン
Android UI勉強会
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Yuki Anzai
Android development first steps
Android development first steps
christoforosnalmpantis
Android software development – the first few hours
Android software development – the first few hours
sjmarsh
Gadget1 R2 ガジェットカフェでソーシャル電子工作を始めよう!
Gadget1 R2 ガジェットカフェでソーシャル電子工作を始めよう!
encafe
Basic Android Layout
Basic Android Layout
Bayu Firmawan Paoh
Destacado
(20)
Life with Android - Docomo SmartPhone Lounge Event -
Life with Android - Docomo SmartPhone Lounge Event -
Android Layout Cookbook Seminor
Android Layout Cookbook Seminor
Android Pattern Cookbook で見るトレンドの変遷
Android Pattern Cookbook で見るトレンドの変遷
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
アプリのUIを改善するための7ステップ ∼Bump Recorder の UI を設計してみたよ編∼
アプリのUIを改善するための7ステップ ∼Bump Recorder の UI を設計してみたよ編∼
Sublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEW
User Interface 「UI ラーニング・パターン」 - ABC2014s
User Interface 「UI ラーニング・パターン」 - ABC2014s
ABC2013 Autumn あんざいゆき x 小太刀御禄 対談
ABC2013 Autumn あんざいゆき x 小太刀御禄 対談
Fragment を使ってみよう
Fragment を使ってみよう
Watch face アプリを公開してみた
Watch face アプリを公開してみた
マルチスクリーン対応と最近のアプリの傾向
マルチスクリーン対応と最近のアプリの傾向
Android Layout 3分クッキング
Android Layout 3分クッキング
Adapter & ListView & ExpandalbeListView
Adapter & ListView & ExpandalbeListView
Android Training (Android UI)
Android Training (Android UI)
Fragment の利用パターン
Fragment の利用パターン
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Android development first steps
Android development first steps
Android software development – the first few hours
Android software development – the first few hours
Gadget1 R2 ガジェットカフェでソーシャル電子工作を始めよう!
Gadget1 R2 ガジェットカフェでソーシャル電子工作を始めよう!
Basic Android Layout
Basic Android Layout
Similar a Head First XML Layout on Android
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)
Masafumi Terazono
刻工
刻工
心瑜 楊
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
jQuery Mobileの基礎
jQuery Mobileの基礎
Takashi Okamoto
【第4回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips
【第4回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips
Chihiro Tomita
Jqm20120210
Jqm20120210
cmtomoda
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
cm_saito
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
Chihiro Tomita
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
android sola
jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料
Nobumasa Ura
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
OCHI Shuji
Android UIデザイン入門
Android UIデザイン入門
OESF Education
jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在
yoshikawa_t
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
Masafumi Terazono
DevIO Auto Layout 道場スライド
DevIO Auto Layout 道場スライド
kakegawa-atsushi
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
Itsuki Kuroda
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Sitecore におけるレイアウトの考え方
Sitecore におけるレイアウトの考え方
サイトコア株式会社
iOS6 Auto Layout
iOS6 Auto Layout
クラスメソッド株式会社
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
Yasuhito Yabe
Similar a Head First XML Layout on Android
(20)
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)
刻工
刻工
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
jQuery Mobileの基礎
jQuery Mobileの基礎
【第4回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips
【第4回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips
Jqm20120210
Jqm20120210
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
Android UIデザイン入門
Android UIデザイン入門
jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
DevIO Auto Layout 道場スライド
DevIO Auto Layout 道場スライド
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Sitecore におけるレイアウトの考え方
Sitecore におけるレイアウトの考え方
iOS6 Auto Layout
iOS6 Auto Layout
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
Más de Yuki Anzai
droidgirls Recyclerview
droidgirls Recyclerview
Yuki Anzai
Androidオールスターズ2016 yanzm
Androidオールスターズ2016 yanzm
Yuki Anzai
Whats's new in Android Studio at Google I/O extended in Fukuoka
Whats's new in Android Studio at Google I/O extended in Fukuoka
Yuki Anzai
What's new in Android N at Google I/O extended in Fukuoka
What's new in Android N at Google I/O extended in Fukuoka
Yuki Anzai
How to read "marble diagram"
How to read "marble diagram"
Yuki Anzai
Master of RecyclerView
Master of RecyclerView
Yuki Anzai
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Yuki Anzai
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
Yuki Anzai
ボクの開発スタイル
ボクの開発スタイル
Yuki Anzai
application Next Generation presented by android女子部
application Next Generation presented by android女子部
Yuki Anzai
Más de Yuki Anzai
(10)
droidgirls Recyclerview
droidgirls Recyclerview
Androidオールスターズ2016 yanzm
Androidオールスターズ2016 yanzm
Whats's new in Android Studio at Google I/O extended in Fukuoka
Whats's new in Android Studio at Google I/O extended in Fukuoka
What's new in Android N at Google I/O extended in Fukuoka
What's new in Android N at Google I/O extended in Fukuoka
How to read "marble diagram"
How to read "marble diagram"
Master of RecyclerView
Master of RecyclerView
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
ボクの開発スタイル
ボクの開発スタイル
application Next Generation presented by android女子部
application Next Generation presented by android女子部
Último
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
Akihiro Kadohata
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Toru Tamaki
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
iwashiira2ctf
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
Satoshi Makita
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
iPride Co., Ltd.
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperleger Tokyo Meetup
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
情報を表現するときのポイント
情報を表現するときのポイント
onozaty
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
kokinagano2
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
瑛一 西口
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
keikoitakurag
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
Toru Tamaki
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
Sadaomi Nishi
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Ayachika Kitazaki
Último
(14)
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
情報を表現するときのポイント
情報を表現するときのポイント
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Head First XML Layout on Android
1.
Head First XML
Layout on Android Yuki ANZAI @yanzm BootCamp 27 Sep 2010
2.
自己紹介
あんざいゆき @yanzm 日本Androidの会 女子部副部長 デ部とかデザイン部とか。。。 Android アプリ開発者「Libraroid」 「BooXpress」「Wolfraroid」など
3.
Question
Android 経験値を教えてください! 1. Android開発、まったくやったことないです 2. HelloWorldはやりました 3. バリバリ開発してます
4.
Layout
5.
View の配置
6.
画面のレイアウト方法 コードで生成 動的に変更したい場合 XML で定義 静的なレイアウトを定義する場合
7.
XMLで定義する利点 ●
デザインとアクションの分離 ● コードの見通しがよくなる ● メンテナンスが楽 = 変更しやすい ● 複雑なレイアウトをコードで生成するの はバグの元 ● 縦・横画面用のレイアウトが別々に定義 できる ● 再利用しやすい
8.
レイアウト定義用XMLの場所
res/layout/ の下 res/layout/flename.xml Eclipseで Android プロ ジェクトを作成すると、 main.xml が作られる
9.
HelloWorld Demo
10.
HelloWorld main.xml <?xml
version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/ap k/res/android" android:orientation="vertical" android:layout_width="fll_parent" android:layout_height="fll_parent" > <TextView android:layout_width="fll_parent" android:layout_height="wrap_content" android:text="@string/hello" /> View </LinearLayout> ViewGroup View の配置を定義するのが ViewGroup
11.
LayoutGroup
12.
LayoutGroup
LinearLayout RelativeLayout TableLayout FrameLayout (AbsoluteLayout) ListView GridView TabHost …
13.
LayoutGroup の注意点 • layout_width
と layout_height は必須 • LayoutGroup は入れ子にできる • View には親のレイアウトパラメータを指定
14.
LinearLayout
15.
LinearLayout
16.
LinearLayout <LinearLayout>
<LinearLayout> <EditText /> <Button /> <Button /> <LinearLayout> <LinearLayout> <TextView /> <ImageView /> <LinearLayout> <LinearLayout> <ScrollView> <Button /> <TextView /> <Button /> <Button /> <ScrollView> <LinearLayout> <TextView /> <Button /> <Button /> <Button /> <Button />
17.
LinearLayout •
fll_parent と wrap_content • android:weight • 画面を区切って配置する方法に最適 • 複雑なレイアウトには不向き
18.
fill_parent ・wrap_content • android:height,
android:width に指定 • fll_parent : 親の幅一杯を指定 • wrap_content : View の中のコンテンツ がちょうど入る大きさ fll_parent wrap_content
19.
android:layout_weight • LinearLayout で余った領域を割り当て
る時の重みを指定 • 高さ、幅の % 指定のようなもの wrap_content 左だけ layout_weight=”1” 両方 layout_weight=”1” 左 layout_weight=”2” 右 layout_weight=”1”
20.
RelativeLayout
21.
RelativeLayout LinearLayout では 難しい
22.
RelativeLayout <RelativeLayout> <Button
/> : 中心 id=“@+id/center” centerInParent=“true” 親(この場合画面)の中心 <Button /> : 近畿 id=“@+id/kinki” layout_below=“@id/center” 中心の下 <Button /> : 中国 id=”@+id/chugoku” layout_toLeftOf=”@id/kinki” layout_alignTop=”@id/kinki” 近畿の左 <Button /> ...
23.
よりよいレイアウトヘ
24.
ここちよいレイアウト • マージン、パディングを適切に設定
– android:layout_margin – android:padding – layout_margin は root View では使えない • dipを使う! – px を使ったピクセル指定はだめ
25.
margin と padding
layout_margin padding
26.
dip vs px
• 上のボタン: 200 dip • 下のボタン: 200 px padding • dip なら、画面に対す る割合が同じ Nexus One HT-03A
27.
フォーカスハンドリング • キーボード、トラックボール操作を意識する • 今どこにフォーカスがある? •
スクロールバーにフォーカス – focusable=”true” – focusableInTouchMode=”true” • フォーカスのリクエスト – <View> タグ内に <requestFocus /> を入れる 1画面に1つだけ – コードからリクエスト
28.
マルチデバイス対応 • nine-patch (img.9.png) •
maxHeight, maxWidth, minHeight, minWidth • <dimen> – リソースとしてサイズを指定 – <dimen name=”listHeight”>64dip</dimen> – コードからsetWidth(width)など • Not use absolute layout
29.
nine-patch
• 拡大する領域を 1px で指定 • sdk-dir/tools/draw9patch nine-patch not nine-patch
30.
より開発をスムーズに
31.
レイアウトの再利用 • <include> タグ
– <include layout="@layout/layout_resource”/> • <merge> タグ – custom view を作るときに有用 – 最適化のため、view-tree のレベルを削減 • ViewStubを使う
32.
<include> tag <?xml
version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/ap k/res/android" android:orientation="vertical" android:layout_width="fll_parent" android:layout_height="fll_parent" > <EditText android:layout_width="fll_parent" android:layout_height="wrap_content" /> <Button android:layout_width="fll_parent" android:layout_height="wrap_content" android:text="Button" /> <include layout="@layout/japanmap_layout" /> </LinearLayout>
33.
ViewStub •
たまにしか使われない View に使う • dumb and lightweight view • dimension を持たない、何も描画しない • layout fle の中では ViewStub で定義 • 必要なときにコードから infate する
34.
ViewStub
<ViewStub // infate するための id android:id="@+id/stub_import" // infate したあと override する id android:infatedId="@+id/panel_import" // 置き換える layout fle android:layout="@layout/progress_overlay" /> infate() or visibility をセットする(とinfateされる) ((ViewStub) fndViewById(R.id.stub_import)) .setVisibility(View.VISIBLE); // or View importPanel = ((ViewStub)fndViewById(R.id.stub_import)) .infate();
35.
効果的なレイアウト • ListViewの子要素のXML定義の注意点
– 何度も infate されるので簡素化 – LinearLayout の入れ子よりも RelativeLayout 1個で実現すべし <LinearLayout> <RelativeLayout> <ImageView /> <ImageView /> <LinearLayout> <TextView /> <TextView /> <TextView /> <TextView />
36.
Summary • XML でレイアウトを定義すると
– メンテナンスが楽 – 再利用しやすい – 省エネにする手法がある • ユーザーを意識したレイアウト – マージン、パディング – フォーカス – マルチデバイス対応
Descargar ahora