『壹』 android Studio控制項設置樣式怎麼設置
在Android Studio中開發安卓程序的時候,我們可以為安卓的一些控制項設置樣式,例如背景顏色、控制項字體的大小等等屬性,都是通過xml文件來進行配置的。下面就給大家介紹一下如何在Android Studio中給控制項設置樣式。
軟體名稱:Android Studio v1.3 官方最新版(apk應用開發工具)軟體大小:366MB更新時間:2015-07-09
1、在安卓項目的layout文件夾中添加一個布局文件:activity_main.xml,在該布局文件中添加一個Button控制項。
2、在安卓項目的values文件夾中有一個colors.xml文件,裡面用來存放一些顏色值,有一個dimens.xml文件,裡面用來存放一些尺寸值,可以用來設置控制項字體的大小。
3、在colors.xml文件中設置好顏色值、在dimens.xml文件中設置好尺寸值之後就可以在layout文件中為控制項設置顏色和字體大小了。在activity_main.xml文件中,從colors.xml文件中選擇一個顏色值賦值給Button控制項的android:background屬性,可以設置控制項的背景顏色;從dimens.xml文件中選擇一個尺寸值賦值給Button控制項的android:textSize屬性,可以設置控制項的字體大小。
注意事項:
控制項的顏色值和字體大小值可以在layout文件中直接賦值,但是不推薦這樣做,因為利用colors.xml文件和dimens.xml文件中的值可以達到重用的目的,以後為多個控制項修改屬性值得時候也會非常方便。
『貳』 【Android】自定義Spinner控制項及其使用
一、簡單使用
1. 寫選項值
在res/values/文件夾下新建一個 arrays.xml 文件:
2. 在界面文件中添加Spinner控制項
activity_main.xml 文件:
2.1 dropdown模式
效果:
2.2 dialog模式
效果:
二、自定義dropdown樣式
1. 修改點擊樣式和下拉框樣式
在res/drawable/文件夾下新建兩個文件:
(1)shape_for_custom_spinner.xml 文件(用來定義下拉框的樣式):
(2)selector_for_custom_spinner文件(用來定義Spinner控制項本身的樣式,帶選擇器,有點擊效果):
在界面文件中的Spinner控制項中引用它們:
效果:
2. 增加下劃線
在res/values/文件夾下新建一個style.xml文件:
說明: (1)customTheme——自定義主題樣式,引用它自定義下劃線才能正常顯示。 (2)customSpinnerStyle——自定義的Spinner樣式,和上面的主題樣式一樣在界面文件中引用。 (3)android:divider——分割線顏色。 (4)android:dividerHeight——分割線寬度。
在界面文件中的Spinner控制項中引用它:
效果:
三、動態配置Spinner選項
1. 刪除界面文件中引入的字元串組
即,刪除這一行:
2. 增加一個自定義的layout文件來配置列表樣式
在res/layout/文件夾下新建一個item_for_custom_spinner.xml文件:
3. 在java文件中對Spinner控制項進行配置
MainActivity.java文件:
說明: 不想自己自定義列表樣式可以選擇直接使用Android自帶的support_simple_spinner_dropdown_item 效果:
四、Spinner選擇事件
1. 增加一個簡單的選擇監聽器
可以發現有兩個問題: (1)初始化監聽器的時候事件被調用了。 (2)重復點擊同一選項事情不會被重復調用。
2. 不希望監聽器動作初始化時就被調用
辦法很簡單,就是定義一個flag用來確認監聽器是否是第一次被調用,是則忽略它:
這樣一來,界面初始化時就不會出現監聽器動作被執行了一次的情況了。
3. 不希望重復點擊同一選項時沒有動作
需要重寫Spinner控制項的部分代碼。
(1)在java/com.example.myapplication/文件夾下新建一個ReSpinner.java文件:
(2)替換掉界面文件中的控制項根名稱,其他什麼都不用動: 將
改為
這樣一來,重復點擊同一事件,也能正常多次觸發監聽器動作了。
五、自定義dialog樣式
經過上面的修改,基本已經完成了對dropdown模式下的樣式自定義和監聽器動作自定義了,將spinnerMode改回dialog,增加一個prompt標簽,增加dialog的標題:
(1)先在res/values/strings.xml文件中定義一個標題(必須步驟):
(2)再在邊界文件中引用它: