Enviar pesquisa
Carregar
Androidレイアウトのスタンダードアプローチ
•
19 gostaram
•
12,696 visualizações
Takao Sumitomo
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 47
Baixar agora
Baixar para ler offline
Recomendados
夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料
Masafumi Terazono
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
akkuma
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
Takao Sumitomo
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
Recomendados
夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料
Masafumi Terazono
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
akkuma
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
Takao Sumitomo
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
Angularおじさんの1年
Angularおじさんの1年
Hayashi Yuichi
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
僕らのデータ同期プラクティス
僕らのデータ同期プラクティス
Yukiya Nakagawa
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
一希 大田
20150926 uwpストア攻略
20150926 uwpストア攻略
Makoto Nishimura
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
AndroidLint #DroidKaigi
AndroidLint #DroidKaigi
Yukiya Nakagawa
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
tkawashita
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
第7回プログラミングカフェ_テキスト
第7回プログラミングカフェ_テキスト
街角プログラミングカフェ
Androidアプリにおけるyoutube apiの使用方法~準備編~
Androidアプリにおけるyoutube apiの使用方法~準備編~
slide_nal
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Kazuaki Ueda
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
ak_shio_555
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Yuya Yamaki
Android multiscreen
Android multiscreen
Kazuaki Ueda
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
cm_saito
Mais conteúdo relacionado
Mais procurados
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
Angularおじさんの1年
Angularおじさんの1年
Hayashi Yuichi
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
僕らのデータ同期プラクティス
僕らのデータ同期プラクティス
Yukiya Nakagawa
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
一希 大田
20150926 uwpストア攻略
20150926 uwpストア攻略
Makoto Nishimura
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
AndroidLint #DroidKaigi
AndroidLint #DroidKaigi
Yukiya Nakagawa
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
tkawashita
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
第7回プログラミングカフェ_テキスト
第7回プログラミングカフェ_テキスト
街角プログラミングカフェ
Androidアプリにおけるyoutube apiの使用方法~準備編~
Androidアプリにおけるyoutube apiの使用方法~準備編~
slide_nal
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Kazuaki Ueda
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
ak_shio_555
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Yuya Yamaki
Mais procurados
(20)
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Angularおじさんの1年
Angularおじさんの1年
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
僕らのデータ同期プラクティス
僕らのデータ同期プラクティス
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
20150926 uwpストア攻略
20150926 uwpストア攻略
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
AndroidLint #DroidKaigi
AndroidLint #DroidKaigi
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
第7回プログラミングカフェ_テキスト
第7回プログラミングカフェ_テキスト
Androidアプリにおけるyoutube apiの使用方法~準備編~
Androidアプリにおけるyoutube apiの使用方法~準備編~
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Semelhante a Androidレイアウトのスタンダードアプローチ
Android multiscreen
Android multiscreen
Kazuaki Ueda
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
cm_saito
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
Eiichi Tsuru
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
Takayuki Inoue
はじめてのAndroid
はじめてのAndroid
hiro nemu
Windows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 Tips
Fujio Kojima
Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)
Yasuhiko Yamamoto
「Windows 8 ストア アプリ開発 tips」 vsug day 2012 winter (2012年12月15日)
「Windows 8 ストア アプリ開発 tips」 vsug day 2012 winter (2012年12月15日)
vsug_jim
Jqm20120804 publish
Jqm20120804 publish
Takashi Okamoto
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
Takashi Okamoto
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
leverages_event
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Yasuhiko Yamamoto
Android SDK Toolsのおさらい
Android SDK Toolsのおさらい
Tomoki YAMASHITA
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
Android0422
Android0422
takahiko_takahashi
スマ研第2回レポート
スマ研第2回レポート
Shinpei Niiyama
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
Nobuhiro Sue
Windowsストアアプリ勉強してみた
Windowsストアアプリ勉強してみた
Takashi Nishisaki
Semelhante a Androidレイアウトのスタンダードアプローチ
(20)
Android multiscreen
Android multiscreen
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
はじめてのAndroid
はじめてのAndroid
Windows 8 ストア アプリ 開発 Tips
Windows 8 ストア アプリ 開発 Tips
Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)
「Windows 8 ストア アプリ開発 tips」 vsug day 2012 winter (2012年12月15日)
「Windows 8 ストア アプリ開発 tips」 vsug day 2012 winter (2012年12月15日)
Jqm20120804 publish
Jqm20120804 publish
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Android SDK Toolsのおさらい
Android SDK Toolsのおさらい
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
Android0422
Android0422
スマ研第2回レポート
スマ研第2回レポート
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
Windowsストアアプリ勉強してみた
Windowsストアアプリ勉強してみた
Mais de Takao Sumitomo
僕は上スワイプでBottomSheetを出したかっただけなんだ
僕は上スワイプでBottomSheetを出したかっただけなんだ
Takao Sumitomo
sharedUserIdを使った俺得開発ツールの作り方
sharedUserIdを使った俺得開発ツールの作り方
Takao Sumitomo
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
Takao Sumitomo
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
Takao Sumitomo
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
高速でトライ&エラーを するために気をつけてること
高速でトライ&エラーを するために気をつけてること
Takao Sumitomo
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
Takao Sumitomo
Viewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチ
Takao Sumitomo
プロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれること
Takao Sumitomo
AdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にする
Takao Sumitomo
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
Takao Sumitomo
Wantedlyのテスト事情
Wantedlyのテスト事情
Takao Sumitomo
Uml速習会
Uml速習会
Takao Sumitomo
potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料
Takao Sumitomo
SQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗く
Takao Sumitomo
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
Takao Sumitomo
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
Takao Sumitomo
勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズム
Takao Sumitomo
勉強会資料 Uml概要
勉強会資料 Uml概要
Takao Sumitomo
Mais de Takao Sumitomo
(20)
僕は上スワイプでBottomSheetを出したかっただけなんだ
僕は上スワイプでBottomSheetを出したかっただけなんだ
sharedUserIdを使った俺得開発ツールの作り方
sharedUserIdを使った俺得開発ツールの作り方
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
高速でトライ&エラーを するために気をつけてること
高速でトライ&エラーを するために気をつけてること
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
Viewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチ
プロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれること
AdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にする
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
Wantedlyのテスト事情
Wantedlyのテスト事情
Uml速習会
Uml速習会
potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料
SQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗く
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズム
勉強会資料 Uml概要
勉強会資料 Uml概要
Último
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Último
(9)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Androidレイアウトのスタンダードアプローチ
1.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Androidレイアウトの スタンダードアプローチ 住友 孝郎 @cattaka_net
2.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 自己紹介 ● 住友 孝郎(すみとも たかお) ● HN : Cattaka(キャットタカ) ● twitter : @cattaka_net ● 株式会社ブリリアントサービス所属 (2012/01/01〜)
3.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 何やってる人 ● 工作機系のWindowsアプリ作ってました ● 業務系Webシステム作ってました ● Androidアプリ作ってます
4.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net gdgdいろいろ作ってます
5.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net ロボットアーム作ってます AndroidからADKで制御
6.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 今回のターゲット ● Android向けのレイアウトXMLを作る人 ● プログラマ〜デザイナの辺り
7.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Androidアプリ開発を取り巻く問題 ● まだベストプラクティスが確立されてない ● 従来のベストプラクティス ● Web → Struts, Ruby on Rails ● アプリ → .NET, MFC, Qt ● クラウド → Slim3, Hadoop ● プログラマさんもデザイナさんも 従来の手法でアプリを作ってしまう →だから一緒に考えましょ♪
8.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net ややこしくする要因 ● 様々な文化の人が関わる ● 組み込み屋さん ● Web屋さん ● 携帯アプリ屋さん ● 業務アプリ屋さん ● スマートフォンのアプリはいろんな文化が混ざる
9.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net やりがちなこと ● プログラマさんが ● ピクセル決め打ちのレイアウト ● マウス前提の画面仕様 ● 画面サイズを考慮してない ● etc ● デザイナさんがやりがちなこと(?) ● Web系の手法がそのまま持ち込まれる ● Bitmapがデーンと貼られる ● etc
10.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net やりがちなことが何故問題か? ● Androidはいろんな文化が混ざり込んでいる ● その中で生まれた文化がある ● Android固有の問題がある ● レイアウトについての文化 ● 画像サイズにまつわる問題 ● 画面サイズによる問題
11.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 画像サイズにまつわる問題
12.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net サイズと言っても2種類ある ● ファイルサイズ ● APKが大きくなる →端末の容量を圧迫する →最近はSDカードに保存できるのでOK ● 展開されたときのサイズ ● JPGやPNGは圧縮が効くけど、展開すると問題になるこ ともある →展開時にOOMになる
13.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net サイズを小さくするためには ● Bitmapは必要最小限にする ● xmlで描画させる ● Nine-patchを使う ap X Nine ml Bitm -pat ch
14.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net xmlで描画させる ● Shape Drawable ● Layer List ● Etc ● Bitmap+xmlでタイリングする ● Clip Drawable
15.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Shape Drawable ● XMLでボタンや背景用の画像が生成できる ● 四角や丸が描ける ● 丸四角ができる ● グラデーション ● 枠線も描ける
16.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net APIDemoのサンプル(1) ● 四角 ● 丸 ● 丸四角
17.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net APIDemoのサンプル(2) ● 境界が点線 ● グラデーション
18.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 実例 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> →角を10dip丸める <corners android:radius="10dp" /> <gradient android:angle="90" android:startColor="#ffd8b2" android:endColor="#ffbf7f" →グラデーション android:type="linear" /> →枠線は2dipで青 <stroke android:width="2dp" android:color="#0184D1"/> </shape>
19.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Layer List ● ShapeやBitmapをまとめて 1つのDrawableとして扱える ● 例:BitmapとShapeを重ねた場合
20.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 実践:xmlだけで二重グラデーション <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <corners android:radius="10dp" /> <gradient android:angle="90" android:startColor="#ff007fff" android:centerColor="#00007fff" android:endColor="#700f7fff" android:type="linear" android:centerX="0.7" android:centerY="0.3"/> <stroke android:width="2dp" android:color="#0184D1"/> </shape> 重ねる </item> <item> <shape android:shape="rectangle"> <corners android:radius="10dp" /> <gradient android:centerX="0.3" android:centerY="0.3" android:gradientRadius="200" android:startColor="#007f7fff" android:centerColor="#007f7fff" android:endColor="#7f7f7fff" android:type="radial"/> <stroke android:width="2dp" android:color="#0184D1"/> </shape> </item> </layer-list>
21.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Nine-Patch(1) ● 伸び縮みする画像で汎用的に使える 横に引き伸ばす 縦に引き伸ばす
22.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Nine-Patch(2) ● Android SDK同封のdraw9patchで作れます
23.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net サイズにまつわる問題の対策 ● xmlとNine-patchを使おう ● メリット ● 多言語化もしやすくなる ● 言語ごとに画像ファイルを作っていたのが不要になる ● 画像数が減るのでAPKが小さくなる ● メモリにやさしくなる ● デメリット ● デコられた文字のボタンは作れない – 対応策に出こられたフォントを使うという手はある ● Nine-patchは拡大縮小されるのでノイズが気になる
24.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 個々の画面サイズによる問題
25.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 画面サイズの違いは問題山積み ● Webサイトと同じようにしたら大変なことに・・・ ● 小さいボタンが密集すると指じゃ押せない ● 方向を変えたら崩壊した ● 縦画面前提で作ったら横にしたら潰れる ● スマートフォン用アプリをタブレットで使うと大きす ぎる
26.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 何故問題か ● 一般にPCは画面が十分に大きい ● 多少レイアウトが悪くても広さで誤魔化せる ● スマートフォンは画面が小さい ● 全画面が前提 ● その癖にデバイスごとにサイズが違う
27.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net それらを解決するために ● フレキシブルなレイアウトを作りましょう ● 各Viewの特性やレイアウトを理解して組み合わせ ましょう
28.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Viewのサイズ(1) ● 各Viewはそれぞれ理想的なサイズを持つ ● 意図的なサイズ指定をしない限り理想的なサイズを 維持する ● 意図的に指定する方法 ● layout_width/layout_heightに値を指定する <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" /> 文字列の包含が 理想的な幅
29.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net Viewのサイズ(2) ● layout_width/heightの値 親の幅 ● wrap_contents(理想的なサイズ) ● match_parent(親の幅に合わせる) ● 数値を決め打ち(指定した大きさ) <?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:text="Button1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/button2" android:text="Button2" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button3" android:text="Button3" android:layout_width="200dip" android:layout_height="wrap_content" /> </LinearLayout>
30.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net マージンとパディング ● 実際の幅 = コンテンツの幅 + パディング ● マージンはViewの外側 ● パディングは内側 コンテンツ パディング 1.4cm <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:padding="30dip" android:layout_margin="20dip"/> 実際の幅 1.39cm マージン
31.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net レイアウトの種類 ● LinearLayout ● 横/縦に並べる ● TableLayout ● グリッド状に並べる ● RelativeLayout ● それぞれのViewを組み合わせて並べる ● FrameLayout ● 単に重ねる
32.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net LinearLayout(1) ● 縦/横に並べる ● 横に並べる場合 ● 縦幅は一番大きいものに合わせる ● 横幅は指定が無い限り各Viewの理想的な幅になる ● 割り当てられた領域はlayout_gravityで指定する <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ボタン1" android:layout_gravity="top" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="ボタン2 ボタン2 ボタン2" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ボタン3" android:layout_gravity="bottom" /> </LinearLayout>
33.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net LinearLayout(2) ● layout_weightの意味 ● 余った領域を割り振る 余った領域 <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button1" android:text="Button1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button 0:1:2の割合で android:id="@+id/button2" android:text="Button2" android:layout_width="wrap_content" 割り振る android:layout_height="wrap_content" android:layout_weight="1"/> <Button android:id="@+id/button3" android:text="Button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="2"/> </LinearLayout>
34.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net LinearLayoutの小技 ● 幅を均等に割り振る手法 ● layout_width=”0dip”を指定 ● layout_weight=”1”を指定 <LinearLayout 全てが余った領域 android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button1" android:text="Button1" android:layout_width="0dip" android:layout_height="wrap_content" 1:1:1の割合で android:layout_weight="1"/> <Button 割り振る android:id="@+id/button2" android:text="Button2" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1"/> <Button android:id="@+id/button3" android:text="Button3" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout>
35.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net TableLayout ● グリッド状に並べる ● 各セルの縦横の幅は一番大きい物に合わせる ● セルの結合が出来る(横方向のみ)
36.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net RelativeLayout(1) ● 各Viewを組み合わせて並べる ● 考え方は上下左右を「何に合わせるか」というもの RelativeLayout 上端をどこに合わせる? 左端をどこに合わせる? View 右端をどこに合わせる? 下端をどこに合わせる?
37.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net RelativeLayout(2) ● 上下左右の各端が合わせ方 1.理想的なサイズ 2.親の端に合わせる 3.他のViewの近い方の端 4.他のViewの遠い方の端 ● 例)右端を揃えるパターン ● 指定なし → 理想的なサイズ RelativeLayout 他のView ● layout_toLeftOf View → 他のViewの左端に合わせる ● layout_alignRight → 他のViewの右端に合わせる ● layout_alignParentRight → 親の右端に合わせる
38.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net RelativeLayout(3) View ● 上端の指定方法 ● 左端の指定方法 ● 指定なし → 理想的なサイズ ● 指定なし → 理想的なサイズ ● layout_alignParentTop → 親の上端 ● layout_alignParentLeft → 親の左端 に合わせる に合わせる ● layout_below → 他のViewの下端に合 ● layout_toRightOf → 他のViewの右端 わせる に合わせる ● layout_alignTop → 他のViewの上端 ● layout_alignLeft → 他のViewの左端 に合わせる に合わせる ● 下端の指定方法 ● 右端の指定方法 ● 指定なし → 理想的なサイズ ● 指定なし → 理想的なサイズ ● layout_alignParentBottom → 親の下 ● layout_alignParentRight → 親の右端 端に合わせる に合わせる ● layout_above → 他のViewの上端に合 ● layout_toLeftOf → 他のViewの左端に わせる 合わせる ● layout_alignBottom → 他のViewの下 ● layout_alignRight → 他のViewの右 端に合わせる 端に合わせる
39.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net FrameLayout ● 重ねるレイアウト ● 他の部品と組み合わせて使う ● 例 ● 予め重ねておいて プログラムから切り替えて使う
40.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net レイアウトの使い分け例 想定している画面 入力欄だけ拡大縮小して欲しい? 氏名 郵便番号 住所 氏名 電話番号 郵便番号 住所 電話番号 氏名 郵便番号 氏名 郵便番号 住所 住所 電話番号 電話番号 全体が拡大縮小して欲しい? 横方向だけ拡大縮小して欲しい?
41.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 例(1)
42.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 例(2) ● 1→2→3の順にレイアウトを置く ● すると、3の部分が伸び縮みして、 画面サイズの違いを吸収してくれる 1 2 3
43.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 個々の画面サイズによる問題の対策 ● 画面の違いを想定する ● 方向の違い ● アスペクト比の違い ● サイズの違い ● 見せたいものが画面に収まるように レイアウトを工夫する
44.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net まとめ ● 画像サイズにまつわる問題 ● ファイルサイズだけじゃなくメモリもご注意 ● Apkサイズは小さくする ● 画像の実サイズも加減する ● XMLを使う ● 個々の画面サイズによる問題 ● 画面の違いを考慮して作る ● 見せたいものが画面に収まるように工夫する
45.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net 最後に ● ベストプラクティスを覚えて サクッと作りましょう ● ハッカソンもサクッと作りましょう ● Android未経験のデザイナさんと お仕事するときは文化の違いを話しましょう
46.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net ご清聴ありがとうございました 住友 孝郎 @cattaka_net
47.
2012/02/18 Global Android
Dev Camp Kyoto @cattaka_net The Bad Know-how ● 多段LinearLayout ● 一個のXMLで縦横両対応 ● SurfaceViewにUI部品を被せる
Baixar agora