android 控制控制元件的位置和大小
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT ); //呼叫addView()方法增加一個TextView到線性佈局中 mLayout.addView(textView, p);
2、
FrameLayout framelayout = new FrameLayout(this); text=new TextView(this);// Layoutparames params = new LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT //建立儲存佈局引數的物件 ); params.gravity = Gravity.CENTER_HORIZONTAN|Gravity.CENTER_VERTICAL;//設定居中顯示 text.setLayoutParams(params);//設定佈局引數 framelayout.addView(text);//將元素新增到佈局管理器中
方法二
在xml中 改控制元件引數:
以下大部為用在RelativeLayout中的一些引數:
android:layout_above 將該控制元件的底部至於給定ID的控制元件之上,但不會左對齊,預設置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_below 將該控制元件的頂部至於給定ID的控制元件之下,但不會左對齊,預設置於父視窗最左邊,會覆蓋最左邊的控制元件
android:layout_toLeftOf 將該控制元件的右邊緣和給定ID的控制元件的左邊緣對齊,預設置於父視窗最上面,會覆蓋最上面的控制元件
android:layout_toRightOf 將該控制元件的左邊緣和給定ID的控制元件的右邊緣對齊,預設置於父視窗最上面,會覆蓋最上面的控制元件
android:gravity —— 指定控制元件的基本位置,比如說居中,居右等位置
android:layout_weight=""權重,如下,垂直線性佈局中兩個水平線性佈局,權重分別為1、3,每個水平線性佈局裡面的值代表該textview在該水平佈局裡的權重。
但權重所顯示的寬度不一定是固定值,當textview裡的內容大於權重所佔寬度時,還是會變化的。
Android控制字型大小和字型顏色:
style="?android:attr/textAppearanceMedium"
style="?android:attr/textAppearanceSmall"
其它一些引數:
android:excludeFromRecents="true"為true表示長按home鍵將顯示此應用
android:screenOrientation="portrait"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"豎屏切換橫屏時應用也能彈出介面
分隔符
橫向:
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />
CheckBox
style="?android:attr/starStyle"
//類似標題欄效果的TextView
style="?android:attr/listSeparatorTextViewSty
//其它有用的樣式
android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingRight="?android:attr/scrollbarSize"
style="?android:attr/windowTitleBackgroundSty
style="?android:attr/windowTitleStyle"
android:layout_height="?android:attr/windowTitleSize"
android:background="?android:attr/windowBackground"
在drawable-mdpi資料夾下定義button_selector.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>
在Layout中的main.xml
<Button
EditText 和 TextView 引數
android:inputType
|
指定輸入法的型別,int型別,可以用|選擇多個。取值可以參考:android.text.InputType類。取值包括:text, textUri, phone,number,等。
|
android:imeOptions
|
指定輸入法視窗中的回車鍵的功能,可選值為normal, actionNext,actionDone,actionSearch等。部分輸入法對此的支援可能不夠好。 |
上兩條加一起才能跳轉到minute。
屬性名稱 |
描述 |
android:background |
設定背景色/背景圖片。可以通過以下兩種方法設定背景為透明:”@android:color/transparent”和”@null”。注意TextView預設是透明的,不用寫此屬性,但是Buttom/ImageButton/ImageView想透明的話就得寫這個屬性了。 |
android:clickable |
是否響應點選事件。 |
android:contentDescription |
設定View的備註說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這裡在介面上不會有效果,自己在程式中控制,可臨時放一點字串資料。 |
android:drawingCacheQuality |
設定繪圖時半透明質量。有以下值可設定:auto(預設,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的記憶體)/low(低質量,使用較低的顏色深度,但是用更少的記憶體)。 |
android:duplicateParentState |
如果設定此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。 |
android:fadingEdge |
設定拉滾動條時 |
android:fadingEdgeLength |
設定 |
android:fitsSystemWindows |
設定佈局調整時是否考慮系統視窗(如狀態列) |
android:focusable |
設定是否獲得焦點。若有requestFocus()被呼叫時,後者優先處理。注意在表單中想設定某一個如EditText獲取焦點,光設定這個是不行的,需要將這個EditText前面的focusable都設定為false才行。在Touch模式下獲取焦點需要設定focusableInTouchMode為true。 |
android:focusableInTouchMode |
設定在Touch模式下View是否能取得焦點。 |
android:hapticFeedbackEnabled |
設定長按時是否接受其他觸控反饋事件。這裡模擬器沒有試出效果,難道是多點觸控?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。 |
android:id |
給當前View設定一個在當前layout.xml中的唯一編號,可以通過呼叫View.findViewById() 或Activity.findViewById()根據這個編號查詢到對應的View。不同的layout.xml之間定義相同的id不會衝突。格式如”@+id/btnName” |
android:isScrollContainer |
設定當前View為滾動容器。這裡沒有測試出效果來,ListView/ |
android:keepScreenOn |
View在可見的情況下是否保持喚醒狀態。 |