日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

RelativeLayout(相对布局)的分析

發(fā)布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RelativeLayout(相对布局)的分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相對布局是按照組件之間的相對位置來經(jīng)行布局,

例如某個組件在另一個組件的上,下,左,右邊。

語法格式:

<RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android">

? 屬性列表

</RelativeLayout> ?

簡單的寫一下

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/bt1"style="@style/button"        android:text="上班族" /><Buttonandroid:id="@+id/bt2"style="@style/button"android:text="醫(yī)療" /><Buttonandroid:id="@+id/bt3"style="@style/button"android:text="媒體" /><Buttonandroid:id="@+id/bt4"style="@style/button"android:text="白領(lǐng)" />  </RelativeLayout> 

效果圖


這個是所有的重疊在一起的原因。

其常用的一些屬性:



?第一類:屬性值為truefalse?
??? android:layout_centerHrizontal?
水平居中?
???? android:layout_centerVertical??
垂直居中?
??? android:layout_centerInparent???
相對于父元素完全居中?
??? android:layout_alignParentBottom
貼緊父元素的下邊緣?
??? android:layout_alignParentLeft??
貼緊父元素的左邊緣?
??? android:layout_alignParentRight?
貼緊父元素的右邊緣?
??? android:layout_alignParentTop???
貼緊父元素的上邊緣?
??? android:layout_alignWithParentIfMissing?
如果對應(yīng)的兄弟元素找不到的話就以父元素做參照物?

??? 第二類:屬性值必須為id的引用名“@id/id-name”?
??? android:layout_below?????
在某元素的下方?
??? android:layout_above?????
在某元素的的上方?
??? android:layout_toLeftOf??
在某元素的左邊?
??? android:layout_toRightOf?
在某元素的右邊?

???android:layout_alignTop?? 本元素的上邊緣和某元素的的上邊緣對齊?
??? android:layout_alignLeft?
本元素的左邊緣和某元素的的左邊緣對齊?
??? android:layout_alignBottom
本元素的下邊緣和某元素的的下邊緣對齊?
??? android:layout_alignRight?
本元素的右邊緣和某元素的的右邊緣對齊?

??? 第三類:屬性值為具體的像素值,如30dip40px?
???android:layout_marginBottom?????????????
離某元素底邊緣的距離?
???android:layout_marginLeft??????????????????
離某元素左邊緣的距離?
???android:layout_marginRight????????????????
離某元素右邊緣的距離?
???android:layout_marginTop??????????????????
離某元素上邊緣的距離?

把上面的代碼添加一些相對的屬性

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/bt1"style="@style/button" android:layout_alignParentRight="true"       android:text="上班族" /><Buttonandroid:id="@+id/bt2"style="@style/button"android:layout_alignParentBottom="true"android:text="醫(yī)療" /><Buttonandroid:id="@+id/bt3"style="@style/button"android:text="媒體" /><Buttonandroid:id="@+id/bt4"style="@style/button"android:layout_alignParentBottom="true"android:layout_alignParentRight="true"android:text="白領(lǐng)" />  <Buttonandroid:id="@+id/bt5"style="@style/button"android:layout_centerInParent="true"android:text="中心" /> </RelativeLayout> 

效果圖


這些屬性要自己去摸索呢,不用刻意記住,用的時候

看看就行,

下面列出自己學(xué)習(xí)時候的筆記 ? 這些資料來源各位網(wǎng)友

希望對大家有用!!!!!!!

線性布局(LinearLayout):按照垂直或者水平方向布局的組建

android:orientation 屬性可以設(shè)置線性布局的方向。屬性值有垂直(vertical)和水平(horizontal)兩種

android:layout_width設(shè)置組件的基本寬度其可選值包括fill_parent,

match_parent,wrap_content,其中fill_parent表示該組件的寬度與父容器的寬度相同;match_parent與wrap_content的作用完全相同 android2.2之后開始推薦使用wrap_content,該組件的寬度恰好能包裹它的內(nèi)容

android:layout_height設(shè)置組件的基本高度 其可選值包括fill_parent

match_parent,wrap_content, 其中fill_parent表示該組件的高度與父容器的高度相同;match_parent與wrap_content的作用完全相同 android2.2之后開始推薦使用wrap_content,該組件的高度恰好能包裹它的內(nèi)容

android:id 當(dāng)前組件指定的一個id屬性(這個通過findViewById()方法獲取)

android:background設(shè)置組件的背景,可以是背景圖片,也可以是背景顏色

android:background="@drawable/background"

android:background="#ffffffff"

android:gravity:用來控制組件的對齊方式(top,left,right,center_vertical,等多個屬性用豎線|隔開,例如指定組件靠右下角對齊,right|bottom)

layout_weight:控制各個組件在布局中的相對大小

首先聲明只有在Linearlayout中,該屬性才有效。(Google官方推薦,當(dāng)使用weight屬性時,將width設(shè)為0dip即可,效果跟設(shè)成wrap_content是一樣的)

1.? layout_weight屬性以控制各個控件在布局中的相對大小。layout_weight屬性是一個非負整數(shù)

2.? 值。 ?

3.? ?????????線性布局會根據(jù)該控件layout_weight值與其所處布局中所有控件layout_weight

4.? ?

5.? 值之和的比值為該控件分配占用的區(qū)域。 ?

6.? ????????例如,在水平布局的LinearLayout中有兩個Button,這兩個Button的layout_weight屬性值都為1, ?

7.? ????????那么這兩個按鈕都會被拉伸到整個屏幕寬度的一半。如果layout_weight指為0,控件會按原大小顯示,不會被拉伸; ?

8.? ????????對于其余l(xiāng)ayout_weight屬性值大于0的控件,系統(tǒng)將會減去layout_weight屬性值為0的控件的寬度或者高度, ?

9.? ????????再用剩余的寬度或高度按相應(yīng)的比例來分配每一個控件顯示的寬度或高度

?

RelativeLayout用到的一些重要的屬性:

·????????相對布局(RelativeLayout):相對其它組件的布局方式。

?

??? 第一類:屬性值為true或false?
??? android:layout_centerHrizontal? 水平居中?
???? android:layout_centerVertical?? 垂直居中?
??? android:layout_centerInparent??? 相對于父元素完全居中?
??? android:layout_alignParentBottom 貼緊父元素的下邊緣?
??? android:layout_alignParentLeft?? 貼緊父元素的左邊緣?
??? android:layout_alignParentRight? 貼緊父元素的右邊緣?
??? android:layout_alignParentTop??? 貼緊父元素的上邊緣?
??? android:layout_alignWithParentIfMissing? 如果對應(yīng)的兄弟元素找不到的話就以父元素做參照物?

??? 第二類:屬性值必須為id的引用名“@id/id-name”?
??? android:layout_below????? 在某元素的下方?
??? android:layout_above????? 在某元素的的上方?
??? android:layout_toLeftOf?? 在某元素的左邊?
??? android:layout_toRightOf? 在某元素的右邊?

???android:layout_alignTop?? 本元素的上邊緣和某元素的的上邊緣對齊?
??? android:layout_alignLeft? 本元素的左邊緣和某元素的的左邊緣對齊?
??? android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊?
??? android:layout_alignRight? 本元素的右邊緣和某元素的的右邊緣對齊?

??? 第三類:屬性值為具體的像素值,如30dip,40px?
???android:layout_marginBottom?????????????離某元素底邊緣的距離?
???android:layout_marginLeft??????????????????離某元素左邊緣的距離?
???android:layout_marginRight????????????????離某元素右邊緣的距離?
???android:layout_marginTop??????????????????離某元素上邊緣的距離?

android:adjustViewBounds?? 是否保持寬高比。需要與maxWidth、MaxHeight一起使用,否則單獨使用沒有效果。?

android:cropToPadding?? 是否截取指定區(qū)域用空白代替。單獨設(shè)置無效果,需要與scrollY一起使用,效果如下,實現(xiàn)代碼見代碼部分

僅在RelativeLayout中有效
在父親布局的相對位置
android:layout_alignParentLeft="true"?//
在布局左邊
android:layout_alignParentRight="true"?//
在布局右邊
android:layout_alignParentTop="true"?//
在布局上面
android:layout_alignParentBottom="true"?//
在布局的下面

在某個控件的相對位置
android:layout_toRightOf="@id/button1"?//
在控件button1的右邊,不僅僅是緊靠著
android:layout_toLeftOf="@id/button1"?//
在控件button2的左邊,不僅僅是緊靠著
android:layout_below="@id/button1"?//
在控件button1下面,不僅僅是正下方
android:layout_above=“@id/button1”?//
在控件button1下面,不僅僅是正下方

定義和某控件對奇
android:layout_alignTop=”@id/button1”?//
和控件button1上對齊
android:layout_alignBottom=”@id/button1”?//
和控件button1下對齊
android:layout_alignLeft=”@id/button1”?//
和控件button1左對齊
android:layout_alignRight=”@id/button1”?//
和控件button2右對齊


android:layout_centerHorizontal="true"???//
水平居中
android:layout_centerVertical="true"

android:layout_centerInParent="true"?

僅在LinearLayout中有效
設(shè)置控件在一排或一列中所占比例值
android:layout_weight="1"

--------------------------------------------------------------------------------------------------------

android:layout_gravity和android:gravity 的區(qū)別

android:gravity:這個是針對控件里的元素來說的,用來控制元素在該控件里的顯示位置

例如:android:gravity="left"

android:layout_gravity:這個是針對控件本身而言,用來控制該控件在包含該控件的父控件中的位置 android:layout_gravity="left" 能在相對和線性布局中

?在TextView中有這么一系列屬性,可以在文字的上下左右開始結(jié)束處畫圖片等drawable對象。

? android:drawableBottom:在text的下方輸出一個drawable,可以是圖片,樣式,顏色等。
? android:drawableLeft:在text的左邊輸出一個drawable,可以是圖片,樣式,顏色等。
? android:drawableRight:在text的右邊輸出一個drawable,可以是圖片,樣式,顏色等。
? android:drawableTop:在text的正上方輸出一個drawable,可以是圖片,樣式,顏色等。

?android:drawableStart: 在text的開始處輸出一個drawable,可以是圖片,樣式,顏色等。

?android:drawableEnd: 在text的結(jié)束處輸出一個drawable,可以是圖片,樣式,顏色等。

?android:drawablePadding:設(shè)置text與drawable的間距,是與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用。

?

LinearLayout android:scrollbars屬性有什么作用

改屬性是繼承view的,目的設(shè)置滾動條顯示,有以下設(shè)置none(隱藏)horizontal(水平),vertical(垂直),并不是所有的view設(shè)置就有效果, LinearLayout 設(shè)置也沒有效果,要想在超過一屏?xí)r拖動效果,在最外層加上ScrollView?

?

android:ellipsize屬性的含義

TextView及其子類,當(dāng)字符內(nèi)容太長顯示不下時可以省略號代替未顯示的字符;省略號可以在顯示區(qū)域的起始,中間,結(jié)束位置,或者以跑馬燈的方式顯示文字(textview的狀態(tài)為被選中)。?
?????? 其實現(xiàn)只需在xml中對textview的ellipsize屬性做相應(yīng)的設(shè)置即可。

??????? android:ellipsize="start"???????省略號在開頭????????
???????android:ellipsize="middle"??????
省略號在中間????????
???????android:ellipsize="end"?????????省略號在結(jié)尾????????
???????android:ellipsize="marquee"????? 跑馬燈顯示

?????? 或者在程序中可通過setEillpsize顯式設(shè)置。
?????? 注: EditText不支持marquee這種模式

android:singleLine="true"? 意思是設(shè)置單行顯示。

1.???如果和layout_width一起使用,當(dāng)文本不能全部顯示時,后面用“…”來表示。如android:text="test_ singleLine " android:singleLine="true"android:layout_width="20dp"

將只顯示“t…”

2.???如果不設(shè)置singleLine或者設(shè)置為false,文本將自動換行

android:saveEnabled="false"

設(shè)置是否在窗口凍結(jié)時(如旋轉(zhuǎn)屏幕)保存View的數(shù)據(jù),默認為true,但是前提是你需要設(shè)置id才能自動保存。

android:textAppearance; Android之系統(tǒng)自帶的文字外觀設(shè)置及實際顯示效果圖
“android:textAppearance=“?android:attr/textAppearanceLargeInverse”這里引用的是系統(tǒng)自帶的一個外觀,
EditText的android:hint?

設(shè)置EditText為空時輸入框內(nèi)的提示信息。?

android:gravity ?
android:gravity屬性是對該view 內(nèi)容的限定.比如一個button 上面的text.? 你可以設(shè)置該text 在view的靠左,靠右等位置.以button為例,android:gravity="right"則button上面的文字靠右?

android:layout_gravity?
android:layout_gravity是用來設(shè)置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設(shè)置.以button為例,android:layout_gravity="right"則button靠右?

android:layout_alignParentRight
?
使當(dāng)前控件的右端和父控件的右端對齊。這里屬性值只能為true或false,默認false。?

android:scaleType:?
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType /android:scaleType值的意義區(qū)別:?

CENTER /center? 按圖片的原來size居中顯示,當(dāng)圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示?

CENTER_CROP /centerCrop? 按比例擴大圖片的size居中顯示,使得圖片長(寬)等于或大于View的長(寬)?

CENTER_INSIDE /centerInside? 將圖片的內(nèi)容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等于或小于View的長/寬?

FIT_CENTER /fitCenter? 把圖片按比例擴大/縮小到View的寬度,居中顯示?

FIT_END /fitEnd?? 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置?

FIT_START /fitStart? 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置?

FIT_XY / fitXY? 把圖片不按比例擴大/縮小到View的大小顯示?

MATRIX / matrix 用矩陣來繪制,動態(tài)縮小放大圖片來顯示。?

** 要注意一點,Drawable文件夾里面的圖片命名是不能大寫的。

·????????幀布局(FrameLayout):組件從屏幕左上方布局組件。

幀布局是從屏幕的左上角(0,0)坐標開始布局,多個組件層疊排列,第一個添加的組件放到最底層,最后添加到框架中的視圖顯示在最上面。上一層的會覆蓋下一層的控件

?

·????????表格布局(TableLayout):按照行列方式布局組件。

·????????表格布局是一個ViewGroup以表格顯示它的子視圖(view)元素,即行和列標識一個視圖的位置。

·????????表格布局常用的屬性如下:

·????????android:collapseColumns:隱藏指定的列
android:shrinkColumns
:收縮指定的列以適合屏幕,不會擠出屏幕
android:stretchColumns:盡量把指定的列填充空白部分
android:layout_column:控件放在指定的列
android:layout_span:該控件所跨越的列數(shù)

?

&lt;?<?小于?
&gt;?>?大于?
&amp;?&?和號?
&apos;?'?單引號??? 前面是后面的代表,這個東西要記住?
&quot;?"?引號

android EditText inputType說明

android:inputType="none" //沒有任何限制,就是缺省狀態(tài)

android:inputType="text"android:inputType="textCapCharacters"//前3個輸入普通字符android:inputType="textCapWords"//單詞首字母大小

android:inputType="textCapSentences"//僅第一個字母大小

android:inputType="textAutoCorrect"android:inputType="textAutoComplete"//前兩個自動完成

android:inputType="textMultiLine"//多行輸入

android:inputType="textImeMultiLine"//輸入法多行(不一定支持)

android:inputType="textNoSuggestions"//不提示

android:inputType="textUri"//URI格式

android:inputType="textEmailAddress"//電子郵件地址格式

android:inputType="textEmailSubject"//郵件主題格式

android:inputType="textShortMessage"//短消息格式

android:inputType="textLongMessage"android:inputType="textPersonName"//人名格式

android:inputType="textPostalAddress"//郵政格式

android:inputType="textPassword"//密碼格式

android:inputType="textVisiblePassword"//密碼可見格式

android:inputType="textWebEditText"//作為網(wǎng)頁表單的文本格式

android:inputType="textFilter"//文本篩選格式

android:inputType="textPhonetic"//拼音輸入格式

android:inputType="number"//數(shù)字格式

android:inputType="numberSigned"//有符號數(shù)字格式

android:inputType="numberDecimal"//可以帶小數(shù)點的浮點格式

android:inputType="phone"//撥號鍵盤

android:inputType="datetime"android:inputType="date"//日期鍵盤

android:inputType="time"//時間鍵盤

?

EditText的屬性

android:hint 設(shè)置EditText為空時輸入框內(nèi)的提示信息。
android:gravity屬性是對該view 內(nèi)容的限定.比如一個button 上面的text. 你可以設(shè)置該text 在view的靠左,靠右等位置.以button為例,android:gravity=”right”則button上面的文字靠右
android:layout_gravity
android:layout_gravity是用來設(shè)置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設(shè)置.以button為例,android:layout_gravity=”right”則button靠右
android:scaleType:
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。

ImageView.ScaleType /android:scaleType值的意義區(qū)別:
CENTER /center
按圖片的原來size居中顯示,當(dāng)圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等于或大于View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內(nèi)容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等于或小于View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片不按比例擴大/縮小到View的大小顯示
MATRIX / matrix 用矩陣來繪制,動態(tài)縮小放大圖片來顯示。
** 要注意一點,Drawable文件夾里面的圖片命名是不能大寫的。

android:id
為控件指定相應(yīng)的ID

android:text
指定控件當(dāng)中顯示的文字,需要注意的是,這里盡量使用strings.xml文件當(dāng)中的字符串
android:gravity
指定View組件的對齊方式,比如說居中,居右等位置 這里指的是控件中的文本位置并不是控件本身
android:layout_gravity
指定Container組件的對齊方式.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設(shè)置.以button為 例,android:layout_gravity=”right”則button靠右
android:textSize
指定控件當(dāng)中字體的大小
android:background
指定該控件所使用的背景色,RGB命名法
android:width
指定控件的寬度 控件與組件
android:height
指定控件的高度
android:layout_width
指定Container組件的寬度
android:layout_height
指定Container組件的高度
android:layout_weight
View中很重要的屬性,按比例劃分空間
android:padding*
指定控件的內(nèi)邊距,也就是說控件當(dāng)中的內(nèi)容
android:sigleLine
如果設(shè)置為真的話,則控件的內(nèi)容在同一行中進行顯示
android:scaleType
是控制圖片如何resized/moved來匹對ImageView的siz
android:layout_centerHrizontal
水平居中
android:layout_centerVertical
垂直居中
android:layout_centerInparent
相對于父元素完全居中
android:layout_alignParentBottom
貼緊父元素的下邊緣
android:layout_alignParentLeft
貼緊父元素的左邊緣
android:layout_alignParentRight
貼緊父元素的右邊緣
android:layout_alignParentTop
貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing
如果對應(yīng)的兄弟元素找不到的話就以父元素做參照物
android:layout_below
在某元素的下方
android:layout_above
在某元素的的上方
android:layout_toLeftOf
在某元素的左邊
android:layout_toRightOf
在某元素的右邊
android:layout_alignTop
本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft
本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom
本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight
本元素的右邊緣和某元素的的右邊緣對齊
android:layout_marginBottom
離某元素底邊緣的距離
android:layout_marginLeft
離某元素左邊緣的距離
android:layout_marginRight
離某元素右邊緣的距離
android:layout_marginTop
離某元素上邊緣的距離
android:paddingLeft
本元素內(nèi)容離本元素右邊緣的距離
android:paddingRight
本元素內(nèi)容離本元素上邊緣的距離
android:hint
設(shè)置EditText為空時輸入框內(nèi)的提示信息
android:LinearLayout
它確定了LinearLayout的方向,其值可以為vertical,表示垂直布局horizontal, 表示水平布局
android:interpolator
可能有很多人不理解它的用法,文檔里說的也不太清楚,其實很簡單,看下面:interpolator定義一個動畫的變化率(the rate of change)。這使得基本的動畫效果(alpha, scale,translate, rotate)得以加速,減速,重復(fù)等。用通俗的一點的話理解就是:動畫的進度使用Interpolator 控制。interpolator 定義了動畫的變化速度,可以實現(xiàn)勻速、正加速、負加速、無規(guī)則變加速等。Interpolator 是基類,封裝了所有 Interpolator 的共同方法,它只有一個方法,即 getInterpolation (float input),該方法 maps apoint on the timeline to a multiplier to be applied to the transformations ofan animation。Android 提供了幾個Interpolator 子類,實現(xiàn)了不同的速度曲線,如下:
AccelerateDecelerateInterpolator 在動畫開始與介紹的地方速率改變比較慢,在中間的時侯加速
AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然后開始加速
CycleInterpolator 動畫循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線
DecelerateInterpolator 在動畫開始的地方速率改變比較慢,然后開始減速
LinearInterpolator 在動畫的以均勻的速率改變
對于 LinearInterpolator ,變化率是個常數(shù),即 f (x) = x.
public float getInterpolation(float input) {
return input;
}
Interpolator其他的幾個子類,也都是按照特定的算法,實現(xiàn)了對變化率。還可以定義自己的Interpolator 子類,實現(xiàn)拋物線、自由落體等物理效果。

TextView屬性匯總

android:autoLink設(shè)置是否當(dāng)文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接。可選值(none/web/email/phone/map/all)

android:autoText如果設(shè)置,將自動執(zhí)行輸入值的拼寫糾正。此處無效果,在顯示輸入法并輸入的時候起作用。

android:bufferType指定getText()方式取得的文本類別。選項editable 類似于StringBuilder可追加字符,也就是說getText后可調(diào)用append方法設(shè)置文本內(nèi)容。spannable 則可在給定的字符區(qū)域使用樣式,參見這里1、這里2。

android:capitalize設(shè)置英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明。

android:cursorVisible設(shè)定光標為顯示/隱藏,默認顯示。

android:digits設(shè)置允許輸入哪些字符。如”1234567890.+-*/% ()

android:drawableBottom在text的下方輸出一個drawable,如圖片。如果指定一個顏色的話會把text的背景設(shè)為該顏色,并且同時和background使用時覆蓋后者。

android:drawableLeft在text的左邊輸出一個drawable,如圖片。

android:drawablePadding設(shè)置text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設(shè)置為負數(shù),單獨使用沒有效果。

android:drawableRight在text的右邊輸出一個drawable。

android:drawableTop在text的正上方輸出一個drawable。

android:editable設(shè)置是否可編輯。

android:editorExtras設(shè)置文本的額外的輸入數(shù)據(jù)。

android:ellipsize設(shè)置當(dāng)文字過長時,該控件該如何顯示。有如下值設(shè)置:”start”—-省略號顯示在開頭;”end”——省略號顯示在結(jié)尾;”middle”—-省略號顯示在中間;”marquee”——以跑馬燈的方式顯示(動畫橫向移動)

android:freezesText設(shè)置保存文本的內(nèi)容以及光標的位置。

android:gravity設(shè)置文本位置,如設(shè)置成”center”,文本將居中顯示。

android:hintText為空時顯示的文字提示信息,可通過textColorHint設(shè)置提示信息的顏色。此屬性在 EditView中使用,但是這里也可以用。

android:imeOptions附加功能,設(shè)置右下角IME動作與編輯框相關(guān)的動作,如actionDone右下角將顯示一個”完成”,而不設(shè)置默認是一個回車符號。這個在EditView中再詳細說明,此處無用。

android:imeActionId設(shè)置IME動作ID。

android:imeActionLabel設(shè)置IME動作標簽。

android:includeFontPadding設(shè)置文本是否包含頂部和底部額外空白,默認為true

android:inputMethod為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這里報錯找不到。

android:inputType設(shè)置文本的類型,用于幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細說明,這里無效果。

android:linksClickable設(shè)置鏈接是否點擊連接,即使設(shè)置了autoLink

android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設(shè)置重復(fù)滾動的次數(shù),當(dāng)設(shè)置為 marquee_forever時表示無限次。

android:ems設(shè)置TextView的寬度為N個字符的寬度。這里測試為一個漢字字符寬度

android:maxEms設(shè)置TextView的寬度為最長為N個字符的寬度。與ems同時使用時覆蓋ems選項。

android:minEms設(shè)置TextView的寬度為最短為N個字符的寬度。與ems同時使用時覆蓋ems選項。

android:maxLength限制顯示的文本長度,超出部分不顯示。

android:lines設(shè)置文本的行數(shù),設(shè)置兩行就顯示兩行,即使第二行沒有數(shù)據(jù)。

android:maxLines設(shè)置文本的最大顯示行數(shù),與width或者layout_width結(jié)合使用,超出部分自動換行,超出行數(shù)將不顯示。

android:minLines設(shè)置文本的最小行數(shù),與lines類似。

android:lineSpacingExtra設(shè)置行間距。

android:lineSpacingMultiplier設(shè)置行間距的倍數(shù)。如”1.2

android:numeric如果被設(shè)置,該TextView有一個數(shù)字輸入法。此處無用,設(shè)置后唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細說明。

android:password以小點”.”顯示文本

android:phoneNumber設(shè)置為電話號碼的輸入方式。

android:privateImeOptions設(shè)置輸入法選項,此處無用,在EditText將進一步討論。

android:scrollHorizontally設(shè)置文本超出TextView的寬度的情況下,是否出現(xiàn)橫拉條。

android:selectAllOnFocus如果文本是可選擇的,讓他獲取焦點而不是將光標移動為文本的開始位置或者末尾位置。 TextView中設(shè)置后無效果。

android:shadowColor指定文本陰影的顏色,需要與shadowRadius一起使用。

android:shadowDx設(shè)置陰影橫向坐標開始位置。

android:shadowDy設(shè)置陰影縱向坐標開始位置。

android:shadowRadius設(shè)置陰影的半徑。設(shè)置為0.1就變成字體的顏色了,一般設(shè)置為3.0的效果比較好。

android:singleLine設(shè)置單行顯示。如果和layout_width一起使用,當(dāng)文本不能全部顯示時,后面用”…”來表示。如android:text=”test_ singleLine ”

android:singleLine=”true” android:layout_width=”20dp”將只顯示”t…”。如果不設(shè)置singleLine或者設(shè)置為false,文本將自動換行

android:text設(shè)置顯示文本.

android:textAppearance設(shè)置文字外觀。如“?android:attr/textAppearanceLargeInverse”這里引用的是系統(tǒng)自帶的一個外觀,?表示系統(tǒng)是否有這種外觀,否則使用默認的外觀。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

android:textColor設(shè)置文本顏色

android:textColorHighlight被選中文字的底色,默認為藍色

android:textColorHint設(shè)置提示信息文字的顏色,默認為灰色。與hint一起使用。

android:textColorLink文字鏈接的顏色.

android:textScaleX設(shè)置文字之間間隔,默認為1.0f

android:textSize設(shè)置文字大小,推薦度量單位”sp”,如”15sp”

android:textStyle設(shè)置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設(shè)置一個或多個,用”|”隔開

android:typeface設(shè)置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體)3]

android:height設(shè)置文本區(qū)域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)

android:maxHeight設(shè)置文本區(qū)域的最大高度

android:minHeight設(shè)置文本區(qū)域的最小高度

android:width設(shè)置文本區(qū)域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width 的區(qū)別看這里。

android:maxWidth設(shè)置文本區(qū)域的最大寬度

android:minWidth設(shè)置文本區(qū)域的最小寬度

Android activity屬性匯總

android:allowTaskReparenting

是否允許activity更換從屬的任務(wù),比如從短信息任務(wù)切換到瀏覽器任務(wù)。

android:alwaysRetainTaskState

是否保留狀態(tài)不變, 比如切換回home,再從新打開, activity處于最后的狀態(tài)

android:clearTaskOnLanunch

比如 P 是 activity, Q 是被P 觸發(fā)的activity, 然后返回Home, 從新啟動 P,是否顯示 Q

android:configChanges

當(dāng)配置list發(fā)生修改時,是否調(diào)用 onConfigurationChanged() 方法 比如 “l(fā)ocale|navigation|orientation”.

android:enabled

activity 是否可以被實例化,

android:excludeFromRecents

是否可被顯示在最近打開的activity列表里

android:exported

是否允許activity被其它程序調(diào)用

android:finishOnTaskLaunch

是否關(guān)閉已打開的activity當(dāng)用戶重新啟動這個任務(wù)的時候

android.icon

android:label

android:launchMode

activity啟動方式, “standard” “singleTop” “singleTask” “singleInstance”

其中前兩個為一組, 后兩個為一組

android:multiprocess

允許多進程

android:name

activity的類名, 必須指定

androidnHistory

是否需要移除這個activity當(dāng)用戶切換到其他屏幕時。這個屬性是 API level 3 中引入的

android:permission

android:process

一 個activity運行時所在的進程名,所有程序組件運行在應(yīng)用程序默認的進程中,這個進程名跟應(yīng)用程序的包名一致。中的元素process屬性能夠為所有組件設(shè)定一個新的默認值。但是任何組件都可以覆蓋這個默認值,允許你將你的程序放在多進程中運行。 如果這個屬性被分配的名字以:開頭,當(dāng)這個activity運行時, 一個新的專屬于這個程序的進程將會被創(chuàng)建。如果這個進程名以小寫字母開頭,這個activity將會運行在全局的進程中,被它的許可所提供。

android:screenOrientation

activity顯示的模式, “unspecified” 默認值 “l(fā)andscape” 風(fēng)景畫模式,寬度比高度大一些 “portrait” 肖像模式, 高度比寬度大。 “user” 用戶的設(shè)置 “behind” “sensor” “nosensor”

android:stateNotNeeded

是否 activity被銷毀和成功重啟并不保存狀態(tài)

android:taskAffinity

activity的親屬關(guān)系, 默認情況同一個應(yīng)用程序下的activity有相同的關(guān)系

android:theme

activity的樣式主題, 如果沒有設(shè)置,則activity的主題樣式從屬于應(yīng)用程序,參見元素的theme屬性

android:windowSoftInputMode

activity主窗口與軟鍵盤的交互模式, 自從API level 3 被引入

活動的主窗口如何與包含屏幕上的軟鍵盤窗口交互。這個屬性的設(shè)置將會影響兩件事情:

1> 軟鍵盤的狀態(tài)——是否它是隱藏或顯示——當(dāng)活動(Activity)成為用戶關(guān)注的焦點。

2> 活動的主窗口調(diào)整——是否減少活動主窗口大小以便騰出空間放軟鍵盤或是否當(dāng)活動窗口的部分被軟鍵盤覆蓋時它的內(nèi)容的當(dāng)前焦點是可見的。

它的設(shè)置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設(shè)置多個值——多個”state…”values,例如&mdash有未定義的結(jié)果。各個值之間用|分開。例如: <activityandroid:windowSoftInputMode=”stateVisible|adjustResize” . . . >

在這設(shè)置的值(除”stateUnspecified”和”adjustUnspecified”以外)將覆蓋在主題中設(shè)置的值

值 描述

“stateUnspecified”軟鍵盤的狀態(tài)(是否它是隱藏或可見)沒有被指定。系統(tǒng)將選擇一個合適的狀態(tài)或依賴于主題的設(shè)置。這個是為了軟件盤行為默認的設(shè)置。

?

“stateUnchanged”軟鍵盤被保持無論它上次是什么狀態(tài),是否可見或隱藏,當(dāng)主窗口出現(xiàn)在前面時。

“stateHidden”當(dāng)用戶選擇該Activity時,軟鍵盤被隱藏——也就是,當(dāng)用戶確定導(dǎo)航到該Activity時,而不是返回到它由于離開另一個Activity。

“stateAlwaysHidden”軟鍵盤總是被隱藏的,當(dāng)該Activity主窗口獲取焦點時。

“stateVisible”軟鍵盤是可見的,當(dāng)那個是正常合適的時(當(dāng)用戶導(dǎo)航到Activity主窗口時)。

“stateAlwaysVisible”當(dāng)用戶選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當(dāng)用戶確定導(dǎo)航到該Activity時,而不是返回到它由于離開另一個Activity。

“adjustUnspecified”它不被指定是否該Activity主窗口調(diào)整大小以便留出軟鍵盤的空間,或是否窗口上的內(nèi)容得到屏幕上當(dāng)前的焦點是可見的。系統(tǒng)將自動選擇這些模式中一種主要依賴于是否窗口的內(nèi)容有任何布局視圖能夠滾動他們的內(nèi)容。如果有這樣的一個視圖,這個窗口將調(diào)整大小,這樣的假設(shè)可以使?jié)L動窗口的內(nèi)容在一個較小的區(qū)域中可見的。這個是主窗口默認的行為設(shè)置。

“adjustResize”該Activity主窗口總是被調(diào)整屏幕的大小以便留出軟鍵盤的空間。

“adjustPan”該Activity主窗口并不調(diào)整屏幕的大小以便留出軟鍵盤的空間。相反,當(dāng)前窗口的內(nèi)容將自動移動以便當(dāng)前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內(nèi)容的部分。這個通常是不期望比調(diào)整大小,因為用戶可能關(guān)閉軟鍵盤以便獲得與被覆蓋內(nèi)容的交互操作。

Android EditText 屬性匯總

android:layout_gravity=”center_vertical

設(shè)置控件顯示的位置:默認top,這里居中顯示,還有bottom

android:hint=”請輸入數(shù)字!”

設(shè)置顯示在空間上的提示信息

android:numeric=”integer

設(shè)置只能輸入整數(shù),如果是小數(shù)則是:decimal

android:singleLine=”true

設(shè)置單行輸入,一旦設(shè)置為true,則文字不會自動換行。

android:password=”true

設(shè)置只能輸入密碼

android:textColor = “#ff8c00

字體顏色

android:textStyle=”bold

字體,bold,italic, bolditalic

android:textSize=”20dip

大小

android:capitalize = “characters

以大寫字母寫

android:textAlign=”center

EditText沒有這個屬性,但TextView

android:textColorHighlight=”#cccccc

被選中文字的底色,默認為藍色

android:textColorHint=”#ffff00

設(shè)置提示信息文字的顏色,默認為灰色

android:textScaleX=”1.5

控制字與字之間的間距

android:typeface=”monospace

字型,normal,sans, serif, monospace

android:background=”@null

空間背景,這里沒有,指透明

android:layout_weight=”1

權(quán)重,控制控件之間的地位,在控制控件顯示的大小時蠻有用的。

android:textAppearance=”?android:attr/textAppearanceLargeInverse

文字外觀,這里引用的是系統(tǒng)自帶的一個外觀,?表示系統(tǒng)是否有這種外觀,否則使用默認的外觀。不知道這樣理解對不對?

?

通過EditText的layout xml文件中的相關(guān)屬性來實現(xiàn):

1. 密碼框?qū)傩?android:password=”true” 這條可以讓EditText顯示的內(nèi)容自動為星號,輸入時內(nèi)容會在1秒內(nèi)變成*字樣。

2. 純數(shù)字 android:numeric=”true” 這條可以讓輸入法自動變?yōu)閿?shù)字輸入鍵盤,同時僅允許0-9的數(shù)字輸入

3. 僅允許 android:capitalize=”cwj1987″ 這樣僅允許接受輸入cwj1987,一般用于密碼驗證

下面是一些擴展的風(fēng)格屬性

android:editable=”false” 設(shè)置EditText不可編輯

android:singleLine=”true” 強制輸入的內(nèi)容在單行

android:ellipsize=”end” 自動隱藏尾部溢出數(shù)據(jù),一般用于文字內(nèi)容過長一行無法全部顯示時

RelativeLayout布局

android:layout_marginTop=”25dip” //頂部距離

android:gravity=”left” //空間布局位置

android:layout_marginLeft=”15dip //距離左邊距

// 相對于給定ID控件

android:layout_above 將該控件的底部置于給定ID的控件之上;

android:layout_below 將該控件的底部置于給定ID的控件之下;

android:layout_toLeftOf 將該控件的右邊緣與給定ID的控件左邊緣對齊;

android:layout_toRightOf 將該控件的左邊緣與給定ID的控件右邊緣對齊;

android:layout_alignBaseline將該控件的baseline與給定ID的baseline對齊;

android:layout_alignTop 將該控件的頂部邊緣與給定ID的頂部邊緣對齊;

android:layout_alignBottom將該控件的底部邊緣與給定ID的底部邊緣對齊;

android:layout_alignLeft 將該控件的左邊緣與給定ID的左邊緣對齊;

android:layout_alignRight將該控件的右邊緣與給定ID的右邊緣對齊;

?

// 相對于父組件

android:layout_alignParentTop如果為true,將該控件的頂部與其父控件的頂部對齊;

android:layout_alignParentBottom如果為true,將該控件的底部與其父控件的底部對齊;

android:layout_alignParentLeft如果為true,將該控件的左部與其父控件的左部對齊;

android:layout_alignParentRight如果為true,將該控件的右部與其父控件的右部對齊;

?

// 居中

android:layout_centerHorizontal如果為true,將該控件的置于水平居中;

android:layout_centerVertical如果為true,將該控件的置于垂直居中;

android:layout_centerInParent如果為true,將該控件的置于父控件的中央;

?

// 指定移動像素

android:layout_marginTop 上偏移的值;

android:layout_marginBottom下偏移的值;

android:layout_marginLeft左偏移的值;

android:layout_marginRight  右偏移的值;

?

android:id — 為控件指定相應(yīng)的ID

android:text — 指定控件當(dāng)中顯示的文字,需要注意的是,這里盡量使用strings.xml文件當(dāng)中的字符串

android:grivity — 指定控件的基本位置,比如說居中,居右等位置這里指的是控件中的文本位置并不是控件本身。

android:textSize — 指定控件當(dāng)中字體的大小

android:background — 指定該控件所使用的背景色,RGB命名法

android:width — 指定控件的寬度

android:height — 指定控件的高度

android:padding* — 指定控件的內(nèi)邊距,也就是說控件當(dāng)中的內(nèi)容

android:sigleLine — 如果設(shè)置為真的話,則控件的內(nèi)容在同一行中進行顯示

?

下邊是相對布局屬性的說明:RelativeLayout

?

android:layout_above 將該控件的底部至于給定ID控件之上

android:layout_below 將該控件的頂部至于給定ID的控件之下

android:layout_toLeftOf 將該控件的右邊緣和給定ID的控件左邊緣對齊

android:layout_toRightOf 將該控件的左邊緣和給定ID的控件的右邊緣對齊

?

android:layout_alignBaseline該控件的baseline和給定ID的控件的baseline對齊

android:layout_alignBottom將該控件的底部邊緣與給定ID控件的底部邊緣對齊

android:layout_alignLeft 將該控件的左邊緣與給定ID控件的左邊緣對齊

android:layout_alignRight將該控件的右邊緣與給定ID控件的右邊緣對齊

android:layout_alignTop 將該控件的頂部邊緣與給定ID控件的頂部對齊

?

android:alignParentBottom如果該值為true,則將該控件的底部和父控件的底部對齊

android:layout_alignParentLeft如果該值為true,則將該控件左邊與父控件的左邊對齊

android:layout_alignParentRight如果該值為true,則將該控件的右邊與父控件的右邊對齊

android:layout_alignParentTop如果該值為true,則將該控件的頂部與父控件的頂部對齊

?

android:layout_centerHorizontal如果為真,該控件將被至于水平方向的中央

android:layout_centerInParent如果為真,該控件將被至于父控件水平方向和垂直方向的中央

android:layout_centerVertical如果為真,該控件將被至于垂直方向的中央

android:layout_marginLeft此屬性用來設(shè)置控件之間的間隙(控件和控件之間和內(nèi)邊距不同)

android:padding=”3dip”說明了四邊的內(nèi)邊距是3dip

TableLayout

<TableLayoutxmlns:android=”http://schemas.android.com/apk/res/android

android:orientation=”vertical

android:layout_width=”fill_parent

android:layout_height=”fill_parent

android:stretchColumns=”0

></TableLayout>

?

android:stretchColumns=”0″第一列作為拉伸列填滿整行

Java中修飾符總結(jié):

?

1、訪問控制修飾符

public的訪問級別是最高的,其次是protected、默認和private

成員變量和成員方法可以處于4個訪問級別中的一個:公開、受保護、默認或私有

頂層類可以處于公開或默認級別,頂層類不能被protected和private修飾

局部變量不能被訪問控制修飾符修飾

2、abstract修飾符

抽象類不能被實例化

抽象類中可以沒有抽象方法,但包含了抽象方法的類必須被定義為抽象方法

如果子類沒有實現(xiàn)父類中所有的抽象方法,子類也必須定義為抽象類

抽象類不能被定義為private、final、和static類型

沒有抽象的構(gòu)造方法

抽象方法沒有方法體

3、final修飾符

用final修飾的類不能被繼承

用final修飾的方法不能被子類的方法覆蓋

private類型的方法都默認為是final方法,因而不能被子類的方法覆蓋

final變量必須被顯式初始化,并且只能被賦值一次值

4、static修飾符

靜態(tài)變量在內(nèi)存中只有一個拷貝,在類的所有實例中共享

在靜態(tài)方法中不能直接訪問實例方法和實例變量

在靜態(tài)方法中不能使用this和super關(guān)鍵字

靜態(tài)方法不能被abstract修飾

靜態(tài)方法和靜態(tài)變量都可以通過類名直接訪問

當(dāng)類被加載時,靜態(tài)代碼塊只能被執(zhí)行一次。類中不同的靜態(tài)方法代碼塊按他們在類中出現(xiàn)的順序被依次執(zhí)行

當(dāng)多個修飾符連用時,修飾符的順序可以顛倒,不過作為普遍遵守的編程規(guī)范,通常把訪問控制修飾符放在首位,其次是static或abstact修飾符,接著就是其他的修飾符

5、以下修飾符連用是無意義的,會導(dǎo)致編譯錯誤:

abstract與private

abstract與final

abstract與static

?





總結(jié)

以上是生活随笔為你收集整理的RelativeLayout(相对布局)的分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。