介紹ListView中的幾種位置關係和LayoutAnimation在listview中的應用,layoutanimation

來源:互聯網
上載者:User

介紹ListView中的幾種位置關係和LayoutAnimation在listview中的應用,layoutanimation

ListView的屬性:

1.ListView的XML屬性android:divider//在列表條目之間顯示的drawable或colorandroid:dividerHeight//用來指定divider的高度android:entries//構成ListView的數組資源的引用。對於某些固定的資源,這個屬性提供了比在程式中添加資源更加簡便的方式android:footerDividersEnabled//當設為false時,ListView將不會在各個footer之間繪製divider.預設為true。android:headerDividersEnabled//當設為false時,ListView將不會在各個header之間繪製divider.預設為true。  2.繼承自AbsListView的XML屬性android:cacheColorHint// 表明這個列表的背景始終以單一、固定的顏色繪製,可以最佳化繪製過程。android:choiceMode//為視圖指定選擇的行為。可選的類型有:none、singleChoice、multipleChoice、multipleChoiceModal。android:drawSelectorOnTop// 若設為true,選取器將繪製在選中條目的上層。預設為false。android:faseScrollEnabled// 設定是否允許使用快速滾動滑塊。android:listSelector// 設定選中項顯示的可繪製對象,可以是圖片或者顏色屬性。android:scrollingCache// 設定在滾動時是否使用繪製緩衝。若設為true,則將使滾動表現更快速,但會佔用更記憶體。預設為true。android:smoothScrollbar// 為真時,列表會使用更精確的基於條目在螢幕上的可見像素高度的計算方法。預設該屬性為真,如果你的適配器需要繪製可變高的條目,他應該設為假。當該屬性為真時,你在適配器在顯示變高條目時,捲軸的把手會在滾動的過程中改變大小。當設為假時,列表只使用適配器中的條目數和螢幕上的可見條目來決定捲軸的屬性。android:stackFromBottom// 設定GridView和ListView是否將內容從底部開始顯示。android:textFilterEnabled// 當設為真時,列表會將結果過濾為使用者類型。前提是這個列表的Adapter必須支援Filterable介面。android:transcriptMode//設定列表的transcriptMode.有如下選項可選://(1)disabled          禁用TranscriptMode,也是預設值;//(2)normal             當新條目添加進列表中並且已經準備好顯示的時候,列表會自動滑動到底部以顯示最新條目;//(3)alwaysScroll   列表會自動滑動到底部,無論新條目是否已經準備好顯示.

一個例子:

<ListView        android:layout_below="@id/btn"        android:id="@+id/draggable_list"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:layout_marginBottom="5dip"        android:cacheColorHint="#f4f4f4"        android:fadingEdge="none"        android:listSelector="#f4f4f4"        android:paddingLeft="16dip"        android:paddingRight="16dip"        android:transcriptMode="alwaysScroll"        android:layoutAnimation="@anim/layout_bottom_to_top_slide" />


layout_bottom_to_top_slide

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"        android:delay="30%"        android:animation="@anim/slide_right" /><set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">    <translate android:fromXDelta="-100%p" android:toXDelta="0"            android:duration="@android:integer/config_shortAnimTime" /></set>

一個小例子說明listview的item的位置關係:

public class MainActivity extends Activity {private ArrayList<String> myList = new ArrayList<String>();private ArrayAdapter<String> myAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final ListView list = (ListView) findViewById(R.id.draggable_list);myList.add("11");myList.add("22");myList.add("33");myList.add("44");myList.add("55");myList.add("66");myList.add("77");myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, myList);LayoutInflater inflater = LayoutInflater.from(this);TextView header = (TextView)inflater.inflate(R.layout.header, null);TextView footer = (TextView)inflater.inflate(R.layout.footer, null);list.addFooterView(footer);list.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {float x = event.getX();float y = event.getY();print(list,x,y);return false;}});list.addHeaderView(header);list.setAdapter(myAdapter);Button btn = (Button)findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {myList.add("88");myList.add("99");myList.add("aa");myAdapter.notifyDataSetChanged();}});}private void print(final ListView list,final float pointerX,float pointerY) {int firstVisiblePosition = list.getFirstVisiblePosition();  //在當前這一屏上的第一個listview的item的序號,包涵header,從0開始計算int lastVisiblePosition = list.getLastVisiblePosition();   //在當前這一屏上最後一個listview的item的序號,包含header和footer,從0開始計算int maxItemPosition = list.getCount() - list.getFooterViewsCount() - 1; // 這個不把footer view算進去 ,list.getCount()會把header和footer都算進去int minItemPosition = list.getHeaderViewsCount(); //這裡的beginViewIndex指的是在這一個螢幕上顯示的第一個list的item(不包含headerview)int beginViewIndex = (firstVisiblePosition > minItemPosition ? firstVisiblePosition : minItemPosition) - firstVisiblePosition;//這裡的endViewIndex不包含footer view,不能通過adapter.getItem得到的不算int endViewIndex = (lastVisiblePosition < maxItemPosition ? lastVisiblePosition : maxItemPosition) - firstVisiblePosition;//這個是點擊的view在當前螢幕的序號,從0開始計算int pointeredViewIndex = list.pointToPosition((int) pointerX, (int) pointerY) - firstVisiblePosition;  //這個是點擊的view在當前螢幕的序號,從0開始計算,可以通過listview.getChild(pointeredViewIndex)得到這個item       <span style="white-space:pre"></span>        int pointeredItemPosition = pointeredViewIndex + firstVisiblePosition - minItemPosition;        System.out.println("====firstVisiblePosition="+firstVisiblePosition+"lastVisiblePosition="+lastVisiblePosition);System.out.println("====beginViewIndex="+beginViewIndex+"endViewIndex="+endViewIndex+"maxItemPosition="+maxItemPosition+"minItemPosition="+minItemPosition);System.out.println("====pointeredViewIndex="+pointeredViewIndex);}}

代碼:http://download.csdn.net/detail/baidu_nod/7762055


android 怎在listView中讀取資料庫中記錄位置的圖片,跪小例子,給位大俠

R.drawable.xxx? 存變數名不方便吧 存變數的值 然後用SimpleAdapter就行
R.drawable.xxx也行 在程式中建一個map一一映射
 
C#中Listview的資料複製到另外一個Listview的問題

那就只有使用FOR迴圈;
C#
foreach (ListViewItem item in listView1.Items)
listView2.Items.Add((ListViewItem)item.Clone());

VB.NET
For Each item As ListViewItem In listView1.Items
listView2.Items.Add(item.Clone())
Next
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.