AndroidでIOSと同じようなレイアウトに似せる技術の考察
これも自メモ。
エントリを一部分割しました)
- AndroidでIOSに近づける思想の考察 - exception think
- AndroidらしいUIの考察 - exception think
- AndroidでIOSと同じようなレイアウトに似せるFWの考察 - exception think
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FF777777" android:endColor="#FF000000" android:angle="270" /> </shape>
-
- 配置側レイアウト
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/grad" >
な使用イメージ
な方法もあるらしい。- たまにある透明ボタン
- drawable/border.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke android:width="1dip" android:color="#FFFFFF" /> <gradient android:startColor="@null" android:endColor="@null" /> <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> </shape>
-
- 配置側レイアウト
<Button android:text="もどる" android:layout_width="150dip" android:layout_height="75dip" android:textSize="18dip" android:textColor="@color/white" android:background="@drawable/border"
な使用イメージ*1
画像の縁がまるくて既存の輪郭が邪魔なケースの時は、下記のリンクのテクはよく使うけど
- [Android]ImageButtonを透過にする | GENDOSU@NET
- Android: ボタンをdrawable/xmlで作る ← Neo Inspiration
- Androidでアイコン角丸ボタンを作る - Debian GNU/Linux 3.1 on PowerMac G4
- [Android Tips] Buttonにスキンを適用する | Developers.IO
スキンをいじるだけでも結構イケルみたい
ダイアログの話は別エントリ化しました)
参考になりそうな情報)
ActivityGroupは使ったこと無いので、そういう情報は凄く助かるかも‥‥‥
TextViewの周りを丸くする)
これ実はButtonにも、EditTextにも使えて
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="16dp" /> <!-- <solid android:color="#FF000000" /> --> <solid android:color="#FFF0F0F0" /> <!-- <stroke android:width="8dp" android:color="#FFFFFFFF" /> --> <stroke android:width="8dp" android:color="#FFF0F0F0" /> </shape>
- res/layout/main.xml
<Button android:background="@drawable/window"
みたいな方が使えるかも(複数並んだ場合の設定コンソールっぽいのはこれだけでは厳しいが。。)
未解決系)
@kimukou2628 その問題、当方も直面しております…
@kojiokb IOSで簡単にできるみたいなんですよね・・そのレイアウト。FrameLayoutの上に描画持ってくるのは FrameLayout fn; fn.setForeground(v.getBackground()); で解決はできたのですが(広告とか
2012-10-04 13:24:08 via YoruFukurou to @kojiokb
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#5F8ec1da" //☆ > <EditText android:gravity="center_vertical|center" android:layout_gravity="center_vertical|center" android:inputType="textNoSuggestions" android:imeOptions="actionGo" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
なレイアウト
でもココらへん
Swing GlassPane みたいな事で実現する方法がいいのかなと思ってたらzakiさんがブログかかれてた
- GlassPaneを作る (その1) - Kazzzの日記
- GlassPaneを作る(その2) - Kazzzの日記
- GlassPaneを作る(その3) - Kazzzの日記
- GlassPaneを作る(その4) - Kazzzの日記
の理屈なんだけど、そういうFWとか有るのだろうか。。。うーん。
PS)
エイトっぽい設定画面に関していえば
背景だけならレイアウトで一応は頑張れる*2
- drawable/bg.xml
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:tileMode="repeat" android:src="@drawable/bg_chip" ></bitmap>
みたいなの作って android:background で指定っていう手もあるんですけど。
まあこれも普通使わないよな。。。(汗
な感じがお客様の目にやさしいお話なんですかね?
のスライドのお話なら凄く納得できるんだけどな。。。(汗
うにゃー。RelativeLayoutをandroid:layout_above/layout_belowとか使わずにandroid:layout_marginTop/layout_marginBottom とかですべてのパーツ調整したの見るたび勘弁してよ?>< 状態
androidレイアウトはHTMLイメージだと言っているのになんでIOSっぽい絶対レイアウト配置するかな‥‥あと無意味な RelativeLayoutの入れ子とか。。android:layout_centerInParent="true" とかの指定って昔なかったっけ?
IOSは絶対座標レイアウトだからな。。。仕方ないんですけどねー(汗
この画面解像度別dimens対応結構時間がかかるので
- 画面比、画面深度で自動計算して設定したほうが手間がかからないんじゃないの?
- 画像まで減色対応とかリサイズとか工数的にありえない! OpenGLでやったほうがいいんじゃないの?
というお話がよく話題になりがち
画面解像度別にリソースを持たないで頑張るとかの話は
のお話とあい通じるかもしれない(汗
Android的には
- Yukiの枝折: Android:画面密度によるリソースのスケーリング
- Androidの画面サイズを攻略して機種依存を吸収する(ナビゲーションバーとステータスバーのサイズを取得する) | TechBooster
的な理想的な話とかなり意識のズレが出てきてしまうんだけど、Androidはそこまで工数かけなくていい*3
という判断も有るんだろうな。。
@sassy_watson @sakura_bird1 そうなんですけどね(自分の仕事の大半はそう)。IOSで有名なアプリ採用した奴なら使用可で、facebookの横メニューバーとか、横スライドとか。webviewベースはiphone4Sだと厳しめなので指定なければ避けてるかな
*4
なお話に通じてしまうかも・・・
絵文字問題)
@kimukou2628 特に頑張っていないのでは?フォントレンダリングエンジン辺りにUnicode処理を任せてしまっていたら、後はエンジンが勝手にやるでしょうから、他のアプリ製作者も余計な事を考えなくてもすみますしね。
2013-01-26 21:28:04 via ついっぷる Pro for iPhone to @kimukou2628
@GOTT_eclair うーんとですね、MYSQLに入らない絵文字とかもあって=>特殊記号に変換=>復元やったりとか容易に文字フィールドオーバーしたりとか色々有りますね。androidだと絵文字フォント必要な気もしますが。現実にIOSから絵文字の対戦者名=>化けるので要対策が
2013-01-26 21:34:49 via hamoooooon to @GOTT_eclair
@kimukou2628 結構大変ですね。DBをカスタマイズしてはいけないの?バイナリーを扱える様な方法は、自分でDBを作るか、設定を変更するか(出来るかはわからないけど)、特殊なエンコード方法を開発するか…しか無いですよね。まさかのBase64化とかw
2013-01-26 22:16:59 via ついっぷる Pro for iPhone to @kimukou2628
とか遣ってたりしてる*5
共通ランキングとか作ろうとするとハマる〜
に絵文字変換データがまとまっているそうなんだけどこれを使ったライブラリとか無いのかな?
IOSは AuとSoftbankなのがあってそれの区別も面倒だよな。。。ぐんにょりしてしまう。。
な感じのがあるので上手く置き換えればいけるのかな。。
TL上のメモ)