當前位置:首頁 » 安卓系統 » android列表樣式

android列表樣式

發布時間: 2023-05-06 14:56:00

A. android的Listview 樣式怎麼設置才能設置成alertdialog的樣式

這氏枯彎種應該都是你使用默認的控制項,然後放在各個手機上
手機自殲悶己的UI庫來轉換你的樣式把.
譬如魅敗喚族就是自己的UI庫.

B. android listview樣式設置,加分組

1. 萬能適配器 具體可以參考http://www.imooc.com/learn/372
1). ViewHolder: 傳統的寫法我們一般是會把ViewHolder寫在Adapter裡面,這里把ViewHolder提取出來作為一個公共的類使扒漏用這樣不用每個Adpater都去寫一遍ViewHolder了,所以對於每個ViewHolder類我們要知道的對象有
private SparseArray<View> mViews = null;
private Context mContext = null;
private View mConvertView = null;
private int mPosition = -1;12341234

mViews 用來保存我們每個item布局裡面的view對應的key是view的id,mContext 用來保存上下午,mConverView保存對應item的ConvertView,mPosition用來保存item對應的位置。
2). MobileBaseAdapter: 也做了稍微的優化,因為我們在寫Adapter裡面getView的時候很多動作都是重復的,所以對應重復的動作全部都單獨提取出來提前寫好了,在使用MobileBaseAdapter的時候只要實現public abstract void convert(ViewHolder viewHolder, T t); 就好了具體可以看下燃櫻代碼中的做法。用起來是非常簡單的。
2. 具體分組的實現
我們先要知道BaseAdapter裡面的getItemViewType()函數和getViewTypeCount()函數的作用。getViewTypeCount表示ListView 每個item會緩存幾個復用對象,getItemViewType則是根據position判斷這個這個item對應用哪個緩存的對象,換句話說比如getViewTypeCount返回的值是3,那麼每個item可能就會有0,1,2三個緩存復用的對象,這個時候getItemViewType返回的是0,這樣就會用0這個對象去復用。
這樣我們在來看下MobileCategoryAdapter裡面的代碼。
1). 內部類Category 這個沒什麼東西包含一個BaseAdapter對象和一些必要的方法, 因為我們在MobileCategoryAdatper裡面肯定是會有List對象的。
2). 內部類CategoryListClickListener 實現了ListView的OnItemClickListener。因為我們要ListView.setOnClickListener這個類的對象。
在這個類中我們會區分當前點擊的皮此叢是title(點擊的時候我們可能會展開和收縮該分組)還是item。然後把title(onTitleClick)和item(onItemClick)的點擊的實現都暴露出去。
3). getViewTypeCount() 1+每個Category中Adpater的ViewType。加1可以想像是每個Category都有一個標題。看代碼運行的效果圖應該能看出來,我們上面的效果圖相當於有3個ViewType。
4). getItemViewType() 根據每個position去獲取ViewType。

C. Android如何設置列表的最大高度或最多可見個數,超出則以滾動顯示

最近在做開發的時候,遇到了這樣的一個需求:有一個聊天的模板列表,要求使用彈框的樣式展示,盡可能的做到高度自適應。於是我就開始了各種探索:
探索1>動態的的設置彈框的高度,發現無法准確的計算高度,不美觀;
探索2>將列表設置成固定高度,發現如果數目少的話就留有空白,不美觀;
探索3>動態的設置列表的高度,這個辦法還是可以的,使用recycleView做列表,發現高度很難控制,最終放棄了。
探索4>動態的設置列表的高度,只是使用listView實現,最終發現是符合需求的。

好了,閑話不說了,該是上硬菜的時候了。

使用方式

大致思路就是將具體的計算邏輯封裝自定義的列表內,這樣使用起來的就相當方便,其實就是計算出第一條item的高度,然後乘以最大item的個數就是最終列表展示的高度。當然這也有一個弊端,因為這個思路的前提是假設列表的每個item的高度差距不大,否則列表看著就不那麼美觀了。

D. 如何自定義Android Dialog的樣式

如何自定義Android Dialog的樣式? Android 中自定義Dialog的樣式,主要是通過自定義的xml,然後載入到dialog的背景中,如下步驟:

1、自定義Dialog
final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
2、窗口布局
View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog,null);
3、把設定好的窗口布局放到dialog中
dialog.setContentView(contentView);
4、設定點選視窗空白處取消會話

dialog.setCanceledOnTouchOutside(true);
5、具體的操作
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
6、展示視窗
dialog.show();例:final Dialog dialog = new Dialog(this,R.style.Theme_dialog);View contentView =LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);dialog.setContentView(contentView);dialog.setCanceledOnTouchOutside(true);ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);TextView titleText = (TextView)contentView.findViewById(R.id.title);titleText.setText("請選擇銀行卡");SelectBankCardDialogAdapter adapter =new SelectBankCardDialogAdapter(this, mBankcardList);msgView.setAdapter(adapter);msgView.setOnItemClickListener(newOnItemClickListener() {@Overridepublic void onItemClick(AdapterViewparent, View view, int position, long id) {Toast.makeText(RechargeFlowToMobileActivity.this, position+"",0).show();mSelectCard =mBankcardList.get(position);String area = mSelectCard.getBank_card();mCardNumberText.setText(area);dialog.di *** iss();}});Button closeBtn = (Button)contentView.findViewById(R.id.close);closeBtn.setClickable(true);closeBtn.setOnClickListener(newView.OnClickListener() {@Overridepublic void onClick(View v) {dialog.di *** iss();}});dialog.show();
以上就是在Android開發自定義dialog樣式的方法和步驟,android很多的控制元件都提供了介面或者方法進行樣式的定義和修改。
如何自定義android Button樣式
返回部落格列表
轉 android自定義button樣式
sumpower
釋出時間: 2014/02/25 19:56
閱讀: 4162

收藏: 0

點贊: 0

評論: 0
摘要
android自定義button樣式
在Android開發應用中,預設的Button是由系統渲染和管理大小的。而我們看到的成功的移動應用,都是有著酷炫的外觀和使用體驗的。因此,我們在開發產品的時候,需要對預設按鈕進行美化。在本篇里,筆者結合在應用開發中的經驗,探討一下自定義背景的按鈕、自定義形狀按鈕的實現方法。
首先看實現效果截圖:
自定義背景的按鈕目前有2種方式實現,向量和點陣圖。
1. 向量圖形繪制的方式
向量圖形繪制的方式實現簡單,適合對於按鈕形狀和圖案要求不高的場合。步驟如下:
(a) 使用xml定義一個圓角矩形,外圍輪廓線實線、內填充漸變色,xml程式碼如下。
view plain
bg_alibuybutton_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="地址">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFEC7600" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
<item android:="1px" android:bottom="1px" android:left="1px" android:right="1px">
<shape>
<gradient
android:startColor="#FFEC7600" android:endColor="#FFFED69E"
android:type="linear" android:angle="90"
android:centerX="0.5" android:centerY="0.5" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
</layer-list>
同樣定義bg_alibuybutton_pressed.xml和bg_alibuybutton_selected.xml,內容相同,就是漸變顏色不同,用於按鈕按下後的背景變化效果。
(b) 定義按鈕按下後的效果變化描述檔案drawable/bg_alibuybutton.xml,程式碼如下。
view plain
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="地址">
<item android:state_pressed="true"
android:drawable="@drawable/bg_alibuybutton_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/bg_alibuybutton_selected" />
<item android:drawable="@drawable/bg_alibuybutton_default" />
</selector>
(c) 在你需要的介面定義檔案中,如layout/main.xml中定義一個Button控制元件。
view plain
<Button
android:layout_width="120dip"
android:layout_height="40dip"
android:text="向量背景按鈕" android:background="@drawable/bg_alibuybutton" />
這樣,自定義背景的按鈕就可以使用了,在實現onClick方法後就可以響應操作。

android自帶的樣式比較難看,如何能夠自定義按鈕的樣式,使其顯示的跟美工設計的效果一樣,現與大家分享下
在layout中新增2個按鈕,從下圖中可以看出在按鈕中呼叫了style和android:background屬性,這兩個屬性一個是自定義樣式,一個是給按鈕新增背景圖片
展開res目錄,可以看到在values目錄下有styles.xml檔案,該檔案用於自定義樣式,雙擊開啟
標注的是我自定義的樣式,name為BtnStyle,當按鈕呼叫自定義樣式的時候訪問這個name
在button中呼叫自定義樣式的方法,比較簡單
如何往按鈕中新增自定義圖片,使按鈕看起來更漂亮些,因不同手機解析度不同,那必然牽扯到圖片的拉伸,在android系統下有個很好的技術「九宮格「,可以對圖片進行處理,只對區域性進行拉伸,給工具目錄儲存在android\sdk\tools\draw9patch.bat,經過該工具處理的圖片以.9.png結尾,放到drawable資料夾中
在Button中通過android:background屬性載入圖片的方法,至此我們自定義的按鈕樣式也就完成了,當然這只是個引子,在具體的專案工程中實現的效果要比這個demo復雜很多,有好的設計思路歡迎交流。

E. android 中如何設置Spinner點擊後彈出的下拉列表的寬度樣式

樓上的朋友都沒搞明白樓主的問題,樓主問的是彈出後的下拉列表的寬度,而不是spinner的寬度,這個自定義spinner的下拉樣式可以實現,不過系統有沒有直接設置它寬度的函數就不知道了,幫你頂起

F. Android樣式:layer-list(層疊表)

使用layer-list可以將多個drawable按照順序層疊在一起顯示

android:top 頂部的偏移量

android:bottom 底部的偏移量

android:left 左邊的偏移量

android:right 右邊的偏移量

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">神枝配

    <!-- 灰色陰影 -->

    <item

        android:left="2dp"

        android:top="4dp">

        <shape>

            <solid android:color="@android:color/darker_gray" />

            <corners android:radius="10dp" />

        </shape>

    </item>

    <!-- 白色前景 -->

    <item

        android:bottom="4dp"

        android:right="2dp">

        <shape>

            <solid android:color="#FFFFFF" />

            <corners android:radius="10dp" />

        <搭輪/shape>

    </item>

</layer-list>

另外,關於item的用法,也做下總結:

根節點不同時,可設置的屬性是會不同的,比如selector下,可以設置一些狀態屬性,而在layer-list下,可以設置偏移量;

就算父節點同樣是selector,放在drawable目錄和放在color目錄下可用的屬性也會不同,游指比如drawable目錄下可用的屬性為android:drawable,在color目錄下可用的屬性為android:color;

item的子節點可以為任何類型的drawable類標簽,除了上面例子中的shape、color、layer-list,也可以是selector,還有其他沒講過的bitmap、clip、scale、inset、transition、rotate、animated-rotate、lever-list等等。

G. android的多樣式而且數據量很大的列表困惑

像微博客譽盯滲戶端那樣的。不知道你發現沒有,微博客戶端用的是ListView,每一個item都是頭像、昵稱、等級、文字、圖片(或者是套用別人的文字加圖片)、評論數、傳發數、贊美數來構成的那麼你只需要一個list數組就行每一條數據都有那麼多欄位,沒有的就寫null,取的時候取出全部。然後關於上則扒拉刷新和下拉更多的辦法可以參照網上的案例,如http://blog.csdn.net/hwwzyh/article/details/7705068案例裡面可能人家用了線程休眠的方式來。你就把休眠去掉,換成更新數據就可以。
順便說一下,適配器建議用BaseAdapter,因為他擴展性最好,很容易就實踐數據的優化和處理。
圖片處理可以單獨出來,用android的非同步載入處理,再加上緩存和防重復處理
做好慶脊了這些,我相信你的問題也就解決了

H. Android系統自帶樣式Theme總結

本文從網上復制,給自己做筆記的,摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545

Android系統自帶樣式(@android:style/) (轉)

1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"

布局頁面最上面 不會顯示  android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。

2 android:theme="@style/AppTheme"

布局頁面最上面 顯示  android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。

其他

在數嫌並AndroidManifest.xml文件的activity中配置

1、android:theme="@android:style/Theme"

默認狀態,即如果theme這里不填任何屬性的時候,默認為Theme

2、android:theme="@android:style/Theme.NoDisplay"

任何都不顯示。比較適用於只是運行了activity,但未顯示任何東西

3、android:theme="@android:style/Theme.NoTitleBar「

背景主題的沒有標題欄者岩的樣式,默認如果沒有設置的話,顯示黑背景

4、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

背景主題的沒有標題欄且全屏的樣式,默認為黑背景

5、android:theme="@android:style/Theme.Black"

默認狀態下黑背景

6、android:theme="@android:style/Theme.Black.NoTitleBar"

黑背景主題的沒有標題欄的樣式

7、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

黑背景主題的沒有標題欄且全屏的樣式

8、薯跡android:theme="@android:style/Theme.Light"

默認狀態下亮背景,與上述黑背景Theme.Black相反

9、android:theme="@android:style/Theme.Light.NoTitleBar"

亮背景主題的沒有標題欄的樣式,與Theme.Black.NoTitleBar相反

10、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"

亮背景主題的沒有標題欄且全屏顯示的樣式,與Theme.Black.NoTitleBa.Fullscreenr相反

11、android:theme="@android:style/Theme.Dialog"

對話框樣式 將整個activity變成對話框樣式出現

12、android:theme="@android:style/Theme.InputMethod"

Window animations that are applied to input method overlay windows

13、android:theme="@android:style/ Theme.Panel"

刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且此為默認的樣式

14、android:theme="@android:style/ Theme.Light.Panel"

刪除掉所有多餘的窗口裝飾,在一個空的矩形框中填充內容,作用范圍相當於把dialog中的所有元素全部去掉,只是一個空的矩形框,且默認是light的樣式

15、android:theme="@android:style/Theme.Wallpaper"

使用牆紙做主題,默認狀態。

16、android:theme="@android:style/ Theme.WallpaperSettings"

使用牆紙做主題,默認是使用將上一個界面調暗之後作為主題

17、android:theme="@android:style/ Theme.Light.WallpaperSettings"

使用牆紙做主題,默認Light狀態

18、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

使用牆紙做主題,且沒有標題欄

19、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

使用牆紙做主題,且沒有標題欄,且全屏顯示

20、android:theme="@android:style/Theme.Translucent"

半透明狀態下的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

21、android:theme="@android:style/Theme.Translucent.NoTitleBar"

半透明狀態下沒有標題欄的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

22、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

半透明狀態下沒有標題欄且全屏的背景,將運行此activity之前的屏幕作為半透明狀態作為此activity運行時的樣式。

摘自: http://blog.csdn.net/hongya1109110121/article/details/11985545

熱點內容
android開發必備 發布:2025-05-19 22:36:08 瀏覽:888
硬碟緩存什麼用 發布:2025-05-19 22:09:41 瀏覽:12
蘋果筆記本配置好的有哪些 發布:2025-05-19 22:08:57 瀏覽:15
oracle存儲過程中批量修改表結構 發布:2025-05-19 22:02:22 瀏覽:520
php支付寶sdk 發布:2025-05-19 22:01:06 瀏覽:602
雲掃墓源碼 發布:2025-05-19 22:00:32 瀏覽:593
executeupdatesql 發布:2025-05-19 21:58:36 瀏覽:217
中國電信如何轉人工密碼是多少 發布:2025-05-19 21:44:54 瀏覽:209
求階乘的c語言 發布:2025-05-19 21:15:20 瀏覽:965
話嘮安卓哪裡下載 發布:2025-05-19 20:27:04 瀏覽:166