SlideShare une entreprise Scribd logo
1  sur  68
アプリ開発 端末毎の解像度の 違いを吸収する方法 プロの方はご遠慮ください ! 株式会社  PM9  野田邦昌
自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object]
自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
自己紹介 ,[object Object],[object Object]
俺の開発スタイル (Android も含めて ) ,[object Object],[object Object]
結論 ,[object Object],[object Object],[object Object]
結論 ,[object Object],[object Object],[object Object],[object Object],[object Object]
やっと本題  --  アプリケーション開発における様々な端末特性の考慮 ,[object Object],[object Object],[object Object],[object Object],[object Object]
開発者としては、一応勉強してアプリを作っているつもりなんだけれども ,[object Object],[object Object]
開発者としては、一応勉強してアプリを作っているつもりなんだけれども ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
開発者は何をしているのだ? ,[object Object],[object Object],[object Object],[object Object]
開発者は何をしているの? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ちょっと、一言 端末特性情報共有サービスのご提案 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
端末特性情報共有サービスのご提案 ,[object Object],[object Object],[object Object],[object Object],[object Object]
まずは、 Android コーディングのおさらい    -  プロジェクト ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android コーディングのおさらい -  プロジェクト ,[object Object],[object Object],[object Object],[object Object],[object Object]
おさらい  - UI の構成要素 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おさらい  - UI 定義 XML によるレイアウト定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おさらい  - UI 定義  XML による定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おさらい  - UI 定義  Java から定義 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
おさらい  -  レイアウト用 XML を Java から読み込んで弄くる ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
いよいよ端末特性   Android における 「画面サイズ」の分類 ,[object Object],[object Object],[object Object],[object Object]
Android における 「画面密度」の分類 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android における 「アスペクト比」の分類 ,[object Object],[object Object],[object Object]
Android における 「オリエンテーション」の分類 ,[object Object],[object Object],[object Object]
Android  における長さの単位 (1) ,[object Object],[object Object],[object Object],[object Object]
Android  における長さの単位 (1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Android  における長さの単位 (2) ,[object Object],[object Object]
Android  における長さの単位 (2) ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],長さに名前を付けることができます
長さに名前を付けることができます ,[object Object],[object Object],[object Object]
レイアウト (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
レイアウト (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
レイアウト (3) ,[object Object],small normal large xlarge 画面サイズ en-rUS fr-rFR etc 言語と地域 DoCoMo Softbank au mcc440-mnc10 mcc440-mnc20 mcc440-mnc70 MCC, MNC 備考 値 修飾子
レイアウト (3) v3 v4 … システムバージョン  (API  レベル ) ldpi mdpi hdpi nodpi 画面ピクセル密度  (dpi) night notnight ナイトモード car desk ドックモード port land 画面オリエンテーション long notlong 画面アスペクト
レイアウト (3) nonav dpad trackball wheel 主な非タッチナビゲーション方式 navexposed navhidden ナビゲーションキーの使用   nokeys qwerty 12key 主なテキスト入力方式 keysexposed keyssoft keyshidden キーボードの使用状態 notouch stylus finger タッチ画面タイプ
レイアウト (4) ,[object Object],[object Object],[object Object]
レイアウト (5) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
画像リソースについて   --  オートスケールと言う考え方 ,[object Object],[object Object],[object Object],[object Object],[object Object]
画像リソースについて  --  プレスケール ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
画像リソースについて  --  プレスケール ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],変形しても型崩れしない画像 Nine Patch ( ナインパッチ )  画像形式 変形しても それなりの デザインを 保っている これを
NinePatch フォーマット画像の作り方 ,[object Object],[object Object],[object Object]
NinePatch フォーマット画像の作り方 ,[object Object],[object Object],[object Object]
NinePatch フォーマット画像の作り方 ,[object Object],[object Object],[object Object]
ベクター形式画像リソース  ShapeDrawable ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ImageView 内の 画像データの自動リサイズ ScaleType について ,[object Object],[object Object],[object Object],[object Object],[object Object]
ImageView の ScaleType について 描画時に Matrix を使用 MATRIX 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し右下端に寄せる FIT_END 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し中央に寄せる FIT_CENTER 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し左上端に寄せる FIT_START 元の画像の縦横比を維持せず枠内ぎりぎりまで拡大 FIT_XY 余白領域を除いた範囲内で元の画像の縦横比を維持ながら拡大し中央に寄せる CENTER_INSIDE 余白領域を含めた範囲内で元の画像の縦横比を維持ながら拡大し中央に寄せる CENTER_CROP リサイズせず画像を中央に寄せる CENTER
Java のプログラムから 長さの指定を行うとき ,[object Object],[object Object],[object Object],[object Object],[object Object]
px 指定の場合どうするのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DisplayMetrics について 標準文字サイズを意識したスケーリングファクタ scaledDensity ( mdpi のとき 160 、 hdpi のとき 240 … ) 論理ピクセル密度 densityDpi ( 160dpi のスクリーンでは1、 240dpi スクリーンでは 1.5 … ) 論理ピクセル密度のスケーリングファクタ density 縦方向の実質ピクセル密度( DPI ) ydpi 横方向の実質ピクセル密度( DPI ) xdpi 画面の縦幅(ピクセル数) heightPixels 画面の横幅(ピクセル数) widthPixels
AndroidManifest.xml による 解像度対応の指定 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AVD --  いつものやつ (Android Virtual Device)  で画面をテストする ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AVD で指定できるハードウェア特性 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AVD でテスト ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn ではどうやっているのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn ではどうやっているのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn ではどうやっているのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn ではどうやっているのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版 ではどうやったのか? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の企画~製品開発までの流れ ,[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の 企画~製品開発までの流れ ,[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の 企画~製品開発までの流れ ,[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の 企画~製品開発までの流れ ,[object Object],[object Object],[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の 企画~製品開発までの流れ ,[object Object],[object Object],[object Object]
OpenWnn フリック入力対応版の企画~製品開発までの流れ ,[object Object],[object Object],[object Object],[object Object]
引用させていただきました ,[object Object],[object Object],[object Object],[object Object]
Fin ,[object Object],[object Object]

Contenu connexe

Tendances

Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。ひさし App
 
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!Junya "Jun" Shimoda
 
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編PaperSloth
 
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)Daniel-Hiroyuki Haga
 
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」Tatsuro Matsubara
 

Tendances (7)

Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
 
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
CEDEC2015: ダウンロードしただけじゃ勿体ない! Unreal Engine 4の 凄い使い方をみんなでシェアしよう!
 
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
 
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
 
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
 
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
 
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
 

En vedette

Android端末のroot化について
Android端末のroot化についてAndroid端末のroot化について
Android端末のroot化についてShuichi Takaya
 
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御Norito Agetsuma
 
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)l_b__
 
Programming24 第2回androidアプリ勉強会
Programming24 第2回androidアプリ勉強会Programming24 第2回androidアプリ勉強会
Programming24 第2回androidアプリ勉強会codeal
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4Yusuke Yamamoto
 
Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Soudai Sone
 
Intentの概要
Intentの概要Intentの概要
Intentの概要l_b__
 
Androidアプリのマネタイズ方法|metaps pte. ltd.
Androidアプリのマネタイズ方法|metaps pte. ltd.Androidアプリのマネタイズ方法|metaps pte. ltd.
Androidアプリのマネタイズ方法|metaps pte. ltd.Katsuaki Sato
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識についてakimichi Yamada
 
小学生でもできるAndroidアプリ開発
小学生でもできるAndroidアプリ開発小学生でもできるAndroidアプリ開発
小学生でもできるAndroidアプリ開発shunXnegi
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツYusuke Ando
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウchancelab
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会Shoichi Kakizaki
 
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ桐島、Rubyやめるってよ
桐島、RubyやめるってよNarihiro Nakamura
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
 
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》Katsuaki Sato
 
Scala dreaded underscore
Scala dreaded underscoreScala dreaded underscore
Scala dreaded underscoreRUDDER
 

En vedette (20)

Android端末のroot化について
Android端末のroot化についてAndroid端末のroot化について
Android端末のroot化について
 
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
 
Android Hacks - Hack57
Android Hacks - Hack57Android Hacks - Hack57
Android Hacks - Hack57
 
ABTest
ABTestABTest
ABTest
 
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
 
Programming24 第2回androidアプリ勉強会
Programming24 第2回androidアプリ勉強会Programming24 第2回androidアプリ勉強会
Programming24 第2回androidアプリ勉強会
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
 
Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発
 
Intentの概要
Intentの概要Intentの概要
Intentの概要
 
Androidアプリのマネタイズ方法|metaps pte. ltd.
Androidアプリのマネタイズ方法|metaps pte. ltd.Androidアプリのマネタイズ方法|metaps pte. ltd.
Androidアプリのマネタイズ方法|metaps pte. ltd.
 
職業プログラマに必要な意識について
職業プログラマに必要な意識について職業プログラマに必要な意識について
職業プログラマに必要な意識について
 
小学生でもできるAndroidアプリ開発
小学生でもできるAndroidアプリ開発小学生でもできるAndroidアプリ開発
小学生でもできるAndroidアプリ開発
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
 
Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会
 
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》
成功するスマートフォンアプリ戦略とは?マーケティングからマネタイズまで《基礎編》
 
Scala dreaded underscore
Scala dreaded underscoreScala dreaded underscore
Scala dreaded underscore
 

Similaire à アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer

Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreenKazuaki Ueda
 
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能youten (ようてん)
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにinvogue
 
Androidのライブ壁紙について
Androidのライブ壁紙についてAndroidのライブ壁紙について
Androidのライブ壁紙についてyoropan
 
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能youten (ようてん)
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,userTonny Xu
 
Resolution and logical pixels for devices
Resolution and logical pixels for devicesResolution and logical pixels for devices
Resolution and logical pixels for devicesLINE Corporation
 
About kitakat
About kitakatAbout kitakat
About kitakathidenorly
 
Appsheet基礎講座.pptx
Appsheet基礎講座.pptxAppsheet基礎講座.pptx
Appsheet基礎講座.pptxssuser5f5987
 
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)OSgeo Japan
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Yuki Higuchi
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ陽平 山口
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Eiichi Tsuru
 
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイトrie05
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Makoto Nishimura
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 

Similaire à アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer (20)

Android multiscreen
Android multiscreenAndroid multiscreen
Android multiscreen
 
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
 
Androidのライブ壁紙について
Androidのライブ壁紙についてAndroidのライブ壁紙について
Androidのライブ壁紙について
 
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,user
 
Resolution and logical pixels for devices
Resolution and logical pixels for devicesResolution and logical pixels for devices
Resolution and logical pixels for devices
 
About kitakat
About kitakatAbout kitakat
About kitakat
 
Androidアプリケーション開発中級研修 後編
Androidアプリケーション開発中級研修 後編Androidアプリケーション開発中級研修 後編
Androidアプリケーション開発中級研修 後編
 
Appsheet基礎講座.pptx
Appsheet基礎講座.pptxAppsheet基礎講座.pptx
Appsheet基礎講座.pptx
 
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Html5で9parts
Html5で9partsHtml5で9parts
Html5で9parts
 

アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer

  • 1. アプリ開発 端末毎の解像度の 違いを吸収する方法 プロの方はご遠慮ください ! 株式会社 PM9 野田邦昌
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. レイアウト (3) v3 v4 … システムバージョン (API レベル ) ldpi mdpi hdpi nodpi 画面ピクセル密度 (dpi) night notnight ナイトモード car desk ドックモード port land 画面オリエンテーション long notlong 画面アスペクト
  • 36. レイアウト (3) nonav dpad trackball wheel 主な非タッチナビゲーション方式 navexposed navhidden ナビゲーションキーの使用   nokeys qwerty 12key 主なテキスト入力方式 keysexposed keyssoft keyshidden キーボードの使用状態 notouch stylus finger タッチ画面タイプ
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. ImageView の ScaleType について 描画時に Matrix を使用 MATRIX 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し右下端に寄せる FIT_END 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し中央に寄せる FIT_CENTER 元の画像の縦横比を維持しつつ枠内ぎりぎりまで拡大し左上端に寄せる FIT_START 元の画像の縦横比を維持せず枠内ぎりぎりまで拡大 FIT_XY 余白領域を除いた範囲内で元の画像の縦横比を維持ながら拡大し中央に寄せる CENTER_INSIDE 余白領域を含めた範囲内で元の画像の縦横比を維持ながら拡大し中央に寄せる CENTER_CROP リサイズせず画像を中央に寄せる CENTER
  • 49.
  • 50.
  • 51. DisplayMetrics について 標準文字サイズを意識したスケーリングファクタ scaledDensity ( mdpi のとき 160 、 hdpi のとき 240 … ) 論理ピクセル密度 densityDpi ( 160dpi のスクリーンでは1、 240dpi スクリーンでは 1.5 … ) 論理ピクセル密度のスケーリングファクタ density 縦方向の実質ピクセル密度( DPI ) ydpi 横方向の実質ピクセル密度( DPI ) xdpi 画面の縦幅(ピクセル数) heightPixels 画面の横幅(ピクセル数) widthPixels
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.