*

レイアウト

RelativeLayout (Android)

私的にRelativeLayout より LinerLayout の方がレイアウト設定しやすいと思うんだけど、入れ子になるのが良くないらしい。

それにEclipseの初期がRelativeLayoutなのでちょっとメモ
XML Attributes

属性名 説明
android:layout_alignParentTop 「true」を指定すると上端を親ビューの上端に合わせる
android:layout_alignParentBottom 「true」を指定すると下端を親ビューの下端に合わせる
android:layout_centerVertical 「true」を指定すると縦の中央に配置
android:layout_alignParentLeft 「true」を指定すると左端を親ビューの上端に合わせる
android:layout_alignParentRight 「true」を指定すると右端を親ビューの右端に合わせる
android:layout_centerHorizontal 「true」を指定すると横の中央に配置
android:layout_centerInParent 「true」を指定すると縦横の中央に配置
android:layout_above 指定したIDを持つビューの上に配置する
android:layout_below 指定したIDを持つビューの下に配置する
android:layout_toLeftOf 指定したIDを持つビューの左に配置する
android:layout_toRightOf 指定したIDを持つビューの右に配置する
android:layout_alignBaseline ベースラインを指定したIDを持つビューにベースラインに合わせる
android:layout_alignLeft 左端を指定したIDを持つビューに左端を合わせる
android:layout_alignRight 右端を指定したIDを持つビューに右端を合わせる
android:layout_alignTop 上端を指定したIDを持つビューに上端を合わせる
android:layout_alignBottom 下端を指定したIDを持つビューに下端を合わせる
android:layout_alignWithParentIfMissing 「true」を指定すると相対位置の基準となる他の子Viewが見つからない場合に親Viewを基準にして配置する

 

 

 

Toastの位置指定

Toast toast = Toast.makeText(○○.this, “×××”,  Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL,0 , 0); //ここで位置指定
toast.show();

android:gravityとandroid:layout_gravityの違い

android:gravity

この属性を指定したものの位置を指定する。

その中に指定したウィジェットにも適用される。

android:layout_gravity

この属性を指定したウィジェット個別に適用される。

親子でandroid:gravityを同時に指定した場合親が優先される。
よって、親子をandroid:gravityで記述してしまうと、子の配置は親の属性により上書きされてしまう。

ListViewやWebViewのスクロールバー

AndroidでListViewやWebViewのが自動でスクロールしてくれるのはいいんだけれど、一部分背景の色が一瞬変わる。

気にしだすとものすごく気になるので、合っているのかを調べる時間がないが解消したので備忘記録

 

ListView やWebViewをスクロールした時、一部分の背景色が変わる

方法1.xmlでandroid:cacheColorHint=”#00000000″を追加記述

私は、ListViewもWebViewもこれで解消できた。

方法2    mListView.setScrollingCacheEnabled(false); を追加

サイトでは、これが紹介されていたが、今回私のアプリでは、うまくいかなかった

 

WevViewでhtmlの背景色をしているとスクロールバー部分の色が白色になる

mWebView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);の1行追加で解消