日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android UI】ListView系列一(基础篇)

發布時間:2024/3/13 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android UI】ListView系列一(基础篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

————–ListView基礎

ListView是一個用于顯示滾動的列表項的視圖組。listview通過一個適配器adapter將數據以列表的形式展示出來。listview可以說是Android應用層開發非常重要的組件之一,幾乎每個App都有它的身影,通過適配器可以使listview呈現出各種不同的樣式和風格,作為Android開發人員必須熟練掌握。

下面介紹一下listview的一些常用屬性:

1.divider屬性:在列表條目之間顯示的可繪制對象或顏色.

  • 布局代碼
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:dividerHeight="4dp"android:divider="#789234" /></RelativeLayout>
  • 效果圖:分割線顏色,分割線寬度4dp

2.fastScrollEnabled屬性:允許使用快速滾動手柄,可以通過拖動該手柄在列表中快速滾動.(其實就是右側滑塊).

  • xml布局
<ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:fastScrollEnabled="true"android:divider="#789234"android:dividerHeight="4dp"/>
  • 效果圖:右側顯示快速滑塊,fastScrollEnabled=”false”不顯示滑塊。

3.listSelector屬性:用于在列表中指示當前選中條目的可繪制對象( 每個item背景/選擇后的背景).

  • xml布局
<ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:listSelector="@drawable/item_selector"/>
  • res/drawable/item_selector.xml代碼
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 觸摸模式下單擊時的背景圖片 --><item android:drawable="@drawable/ajo" android:state_focused="true" android:state_pressed="true"/> </selector>
  • 效果圖:點擊的時候會改變item背景色

注:ajo.9.png圖片是這個:

android:listSelector=“@null”,選中或點擊列表項時無背景顏色變化。

4.scrollbars屬性: 隱藏和顯示右側滾動條.

  • xml代碼
<ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:scrollbars="none"/>
  • 效果圖:右側滾動條消失

5.choiceMode屬性: 定義了列表的選擇行為,默認的情況下,列表沒有選擇行為。

  • none:默認不指定選擇的列表
  • singleChoice:單選
  • multipleChoice:多選

  • xml代碼

<ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:choiceMode="singleChoice"/>
  • activity代碼
public class MainActivity extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (ListView)findViewById(R.id.listview);List<String> data = new ArrayList<>();for (int i = 0; i < 80; i++){data.add("list------Item:" + i);}ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_checked, data);listView.setAdapter(adapter);} }
  • 效果圖:需要帶有選擇框的情況下才可以選擇

當設置android:choiceMode=”multipleChoice”時,效果圖如下:

6.stackFromBottom屬性:列表從底部顯示。

  • xml布局代碼
<ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:stackFromBottom="true"/>
  • 效果圖

7.android:cacheColorHint屬性。

  • 一般給listview設置背景圖片的時候(background=”@drawable/back”),如果滑動listview出現閃爍或者變黑的情況,設置android:cacheColorHint=”#00000000”( 透明)

下面說一下簡單適配器的使用:

一.ArrayAdapter

  • activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"/></RelativeLayout>
  • MainActivity.java
public class MainActivity extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (ListView)findViewById(R.id.listview);//構建數據源List<String> data = new ArrayList<>();for (int i = 0; i < 80; i++){data.add("這是ArrayAdapter的例子:"+i);}//創建適配器adapter,這里指定的是一個系統的布局文件,就是一個TextView控件,來顯示上面的數據源字符串ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, data);//設置適配器listView.setAdapter(adapter);} }
  • 效果圖

一.SimpleAdapter

  • activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView android:id="@+id/listview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#FFFFFF"android:divider="#423376"android:dividerHeight="2dp"android:scrollbars="none"/></RelativeLayout>
  • MainActivity.java
public class MainActivity extends Activity {private ListView listView;private List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();//keyprivate final String KEY[] = new String[]{"image","name","qianming"};//每一項數據顯示對于的控件IDprivate final int ID[] = new int[]{R.id.item_image,R.id.item_name,R.id.item_qianming};//模擬數據源private final int IMAGEID[] = new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h,R.drawable.i,R.drawable.m};private final String NAME[] = new String[]{"殺阡陌","花千骨","張三豐","劉邦","孫權","趙云","宋江","雷軍","馬化騰","馬云"};private final String QIANMING[] = new String[]{"愿得一人心,白首不相離","身無彩鳳雙飛翼,心有靈犀一點通","兩情若是久長時,又豈在朝朝暮暮","東邊日出西邊雨,道是無晴卻有晴","衣帶漸寬終不悔,為伊消得人憔悴","天涯地角有窮時,只有相思無盡處","那人卻在,燈火闌珊處","野曠天低樹,江清月近人","海上生明月,天涯共此時","明月松間照,清泉石上流"};@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (ListView)findViewById(R.id.listview);//構建數據源for (int i = 0; i < 10; i++){Map<String, Object> map = new HashMap<String, Object>();map.put(KEY[0], IMAGEID[i]);map.put(KEY[1], NAME[i]);map.put(KEY[2], QIANMING[i]);data.add(map);}//創建適配器adapter,這里指定的是一個系統的布局文件,就是一個TextView控件,來顯示上面的數據源字符串SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, data, R.layout.list_item, KEY, ID);//設置適配器listView.setAdapter(adapter);} }
  • 效果圖


這里的布局是自定義的布局,可以根據自己的需求進行任意布局,當然,這只是界面的展示,listview 的更多特性還得自定義adapter來展示,關于自定義Adapter將在下篇博文中講解


至此,listview基礎使用方式就先說到這了,大家有什么疑問歡迎留言探討!



總結

以上是生活随笔為你收集整理的【Android UI】ListView系列一(基础篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。