android 控制項樣式(Theme)自定義

2021-09-06 10:22:01 字數 3393 閱讀 3572

--------------布局分割線--------------------

實現介面(layout,控制項,按鈕等)中的分隔線:

android:layout_width="fill_parent"  

android:layout_height="1px"  

android:background="?android:attr/listdivider"  

/>  

--------------布局分割線--------------------

------------------------------listview-------------------------

android組建自定義筆記:

在listview滾動條自定義:

android:scrollbartrackvertical="@drawable/scrollbar_vertical_track"

android:scrollbarthumbvertical="@drawable/scrollbar_vertical_thumb"

scrollbar_vertical_track,crollbar_vertical_thumb自定義的xml檔案,放在drawable中,track是指長條,thumb是指短條,然後再xml中定義短條和長條的樣式

設定快速滾動屬性很容易:

android:fastscrollenabled="true" 

android:focusable="true"

自定義listview行間的分割線:

a、listview中每個item項之間都有分割線,設定android:footerdividersenabled表示是否顯示分割線,此屬性預設為true。

b、改變listview的分割線顏色和寬度,需要在布局中定義android:divider和android:dividerheight屬性。

如:使用屬性android:divider="#ff0000"定義分隔符為紅色,當然這裡值可以指向乙個drawable物件,如果使用了可能高度大於系統預設的畫素,可以自己設定高度比如6個畫素android:dividerheight="6px"。

自定義的baseadapter中呼叫notifydatasetchanged()方法會重新呼叫baseadapter的getview()方法。

用心的朋友應該會發現,listview中在設定了背景之後。會有些問題。

1.、listview在拖動的時候背景消失變成黑色背景。等到拖動完畢我們自己的背景才顯示出來。

2 、listview的上邊和下邊有黑色的陰影。

3、lsitview的每一項之間需要設定乙個做為間隔。

針對以上問題 在listview的xml檔案中設定一下語句。

問題1 有如下**結解決 android:scrollingcache="false"

問題2 用如下**解決:android:fadingedge="none"  

問題3  用如下**解決:  android:divider="@drawable/list_driver"  其中  @drawable/list_driver 是乙個資源

------------------------------listview-------------------------

-----------------------tabwidget-------------------------------

要實現自定義tab,無非是要實現以下三點:

1.tab的主背景:在tabwidget配置檔案裡設定background屬性便可

2.tab的item檢視:在**裡設定,setindicator(view view)是關鍵

3.tab的item選擇效果:tab的item選擇效果則依賴 mytabhost.gettabwidget().getchildat(i).setbackgroundresource(r.drawable.selector_tab_background);

詳情:-----------------------tabwidget-------------------------------

-----------------------spinner---------------------------------

在android中spinner就是下拉列表,它相當於html中的標籤。

android中提供的spinner widget下拉列表已經非常好用了,樣式也適用,

不過我們還是可以通過定義xml的方式來改變下拉列表的樣式。

l spinner.getitematposition(spinner.getselecteditemposition());獲取下拉列表框的值

l  呼叫setonitemselectedlistener()方法,處理下拉列表框被選擇事件,把adapterview.onitemselectedlistener例項作為引數傳入

在layout目錄下新建乙個xml檔案,名字隨便(我這裡叫myspinner.xml)。在這個檔案裡面可以定義下拉列表的樣式

我們這裡採用textview來實現

<?xml version="1.0" encoding="utf-8"?> 

xmlns:android="" 

android:id="@+id/text1" 

android:layout_width="wrap_content" 

android:layout_height="24sp" 

android:singleline="true" 

style="?android:attr/spinnerdropdownitemstyle" /> 

在activity中我們可以這樣呼叫

private static final string countriesstr=

myspinner = (spinner) findviewbyid(r.id.myspinner);

arrayadapteradapter = new arrayadapter(this, android.r.layout.******_spinner_item, countriesstr);

adapter.setdropdownviewresource(r.layout.myspinner_dropdown);

myspinner.setadapter(adapter);

利用自定義的xml我們就可以很靈活的來改變下拉列表的樣式。

另外andorid也提供了兩種基本的樣式

android.r.layout.******_spinner_item:textview的下拉列表

android.r.layout.******_spinner_dropdown_item:右邊帶有radio的下拉列表

-----------------------spinner---------------------------------

Android入門之Style與Theme

引用必須註明出處!越來越多網際網路企業都在android平台上部署其客戶端,為了提公升使用者體驗,這些客戶端都做得布局合理而且美觀.android的style設計就是提公升使用者體驗的關鍵之一。android上的style分為了兩個方面 theme是針對窗體級別的,改變窗體樣式 style是針對窗體...

Android去Title和主題Theme使用方法

主題theme就是用來設定介面ui風格,可以設定整個應用或者某個活動activity的介面風格。在 android sdk中內建了下面的theme,可以按標題欄title bar和狀態列status bar是否可見來分類 去除title有兩種方式 方法一 可以在androidmanifest.xml...

Android 如何自己定義控制項的樣式 Shape

android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 複製到剪貼簿 xml html shape solid android color ff9d77 gradient android startcolor ff...