View
View.getVisibility()
很顯然,我們可以用 View.getVisibility()
來檢查一個它是否處于View.VISIBLE狀態(tài)。這是最基本的檢查忌傻,如果連這個方法得到的返回值都是View.INVISIBLE或者View.GONE 的話步鉴,那么它對用戶肯定是不可見的状囱。
View.isShown()
這個方法相當(dāng)于對 View 的所有祖先調(diào)用 getVisibility 方法涉馅。
布局管理器 ViewGroup
常用三大布局
- 幀布局 FrameLayout - 用于單個子視圖。
- 線性布局 LinearLayout - 用于橫向或豎向依次擺放視圖的布局枯跑。
- 相對布局 RelativeLayout - 用于定義與父視圖和兄弟視圖的相對位置的布局惨驶。
絕對布局(已淘汰)
這些布局管理器都擴展了 View Group 類(它本身是 View 類的子類),該類專門設(shè)計為包含和布置多個子視圖全肮。這意味著敞咧,如果您特別有冒險精神,完全可以創(chuàng)建自己的布局管理器辜腺。
ScrollView
public class ScrollView
extends FrameLayout
java.lang.Object
android.view.View
android.view.ViewGroup
android.widget.FrameLayout
android.widget.ScrollView
它是 FrameLayout 類的子類(這意味著您應(yīng)該只放入一個子視圖休建,該子項包含要滾動的完整內(nèi)容),允許用戶垂直滾動评疗,來展示比屏幕可顯示范圍更多的內(nèi)容测砂。ScrollView 通常包含一個垂直方向的 LinearLayout。
ListView
java.lang.Object
? android.view.View
? android.view.ViewGroup
? android.widget.AdapterView<android.widget.ListAdapter>
? android.widget.AbsListView
? android.widget.ListView
A view that shows items in a vertically scrolling list. The items come from the ListAdapter associated with this view.
See the List View guide.
ListView 是為顯示較多項列表而優(yōu)化的特殊控件百匆。它能非常高效地創(chuàng)建砌些、回收和顯示視圖,而且經(jīng)過優(yōu)化加匈,能非常順暢地滾動存璃。
在自定義 listview 的 item 的布局的時候, 通常加上最小高度的屬性, 防止高度過小導(dǎo)致用戶點擊不到。 android:minHeight="?android:attr/listPreferredItemHeight"
而且還常常加上垂直居中 android:gravity="center_vertical"
常用控件
edittext 不寫的話 getText 不為null, 然后得到的是空字符串 "", 然后長度為0
EditText 主題一般會自帶背景,如果需要去掉的話, android:background="@null"
Android Button 默認(rèn)樣式高度問題, 去掉可用android:minHeight="0px"
代碼設(shè)置textview 字體顏色
setTextColor(0xFF0000FF);
//0xFF0000FF是int類型的數(shù)據(jù)雕拼,分組一下0x|FF|0000FF纵东,0x是代表顏色整 數(shù)的標(biāo)記,ff是表示透明度啥寇,0000FF表示顏色偎球,注意:這里0xFF0000FF必須是8個的顏色表示洒扎,不接受0000FF這種6個的顏色表示。
setTextColor(Color.rgb(255, 255, 255));
setTextColor(Color.parseColor("#FFFFFF"));
//還有就是使用資源文件進(jìn)行設(shè)置
setTextColor(this.getResources().getColor(R.color.blue));
//通過獲得資源文件進(jìn)行設(shè)置衰絮。根據(jù)不同的情況R.color.blue也可以是R.string.blue或者
//另外還可以使用系統(tǒng)自帶的顏色類
setTextColor(android.graphics.Color.BLUE);
TextView按下和抬起時的顏色變換
將<item android:drawable="@drawable/xxx" android:state_enabled="false"/>
改成<item android:color="#f1f1f1" android:state_enabled="false"/>
即可
用法: 和按鈕類似, 按鈕改變的是android:background
, 而這個改變的是android:textColor
讀取 xml 中讀取尺寸單位的三個方法
工作上碰到需要從 xml 中讀取尺寸的問題袍冷。發(fā)現(xiàn) getResources()下有3個獲取方法。
- getDimension()方法猫牡,返回類型是float胡诗,他是沒有做任何處理的數(shù)值。
- getDimensionPixelOffset()镊掖,返回類型int乃戈,他會把計算結(jié)果直接強轉(zhuǎn)成int型褂痰。
- getDimensionPixelSize()亩进,返回類型 int,他會把計算結(jié)果四舍五入缩歪。
舉個例子就很好明白了归薛,如果getDimension()方法得到的數(shù)值是44.5,那么getDimensionPixelOffset()得到的就是44匪蝙,getDimensionPixelSize()就是45.
android中g(shù)etWidth()和getMeasuredWidth()之間的區(qū)別
getMeasuredWidth()獲取的是 view 原始的大小主籍,也就是這個 view 在XML文件中配置或者是代碼中設(shè)置的大小。
getWidth()獲取的是這個 view 最終顯示的大小逛球,這個大小有可能等于原始的大小也有可能不等于原始大小千元。