ListView 진급 시리즈 중 하나 입 니 다.
listView 는 가장 많이 사용 되 는 컨트롤 중 하나 라 고 할 수 있 습 니 다. listview 에 필 터 를 추가 하 는 것 은 향후 개발 에서 불가피 한 일이 될 것 입 니 다.
간단 한 listview 디 스 플레이 구현
이것 은 모두 가 상당히 잘 알 고 있 을 것 이다.
q 레이아웃 파일 에 ListView 컨트롤 을 추가 합 니 다.(main.xml)
q Layout 에 표시 할 항목 마다 ListView 를 새로 만 듭 니 다.(lvitem.xml)
q 코드 에서 ListView 의 인용 을 받 아 어댑터 를 설정 하고 데 이 터 를 추가 합 니 다.(DemoActivity.java)
이것 은 더 이상 말 하지 않 겠 습 니 다. 코드 를 직접 보 세 요.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/listv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:layoutAnimation="@anim/animationlayout"
/>
<Button
android:id="@+id/buttonId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" "
/>
</LinearLayout>
lvitem.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lvitem"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns ="*"
>
<TableRow>
<TextView
android:id="@+id/tvname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/tvage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/tvsex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
</TableRow>
</TableLayout>
DemoActivity.java
package cn.edu.heut.zcl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class DemoActivity extends Activity {
/** Called when the activity is first created. */
ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.listv);
List<Map<String, String>> data = new ArrayList<Map<String,String>>();
for(int i=0;i<10;i++){
Map<String,String> map = new HashMap<String,String>();
map.put("name","n"+i );
map.put("age","age"+i );
map.put("sex","s"+i );
data.add(map);
}
String[] from = {"name","age","sex"};
int[] to = {R.id.tvname,R.id.tvage,R.id.tvsex};
SimpleAdapter sa = new SimpleAdapter(this, data, R.layout.lvitem, from, to);
lv.setAdapter(sa);
}
}
필터 추가
여기 가 본 고의 중점 입 니 다. listview 의 필 터 는 Animation 을 통 해 이 루어 집 니 다. 먼저 res 에 폴 더 anim 을 추가 하고 그 중에서 animation Set 의 xml, animatonset 1. xml 를 새로 만 듭 니 다. 그 중에서 사용 할 필 터 를 추가 하고 필 터 는 본 블 로그 의 Animation 시리즈 튜 토리 얼 을 참고 합 니 다.
이후 Layout Animation Controller 를 사용 해 야 하 며, 이러한 역할 을 간략하게 소개 한다.
q Layout AnimationController 는 Layout 의 컨트롤 이나 ViewGroup 의 컨트롤 에 애니메이션 효 과 를 설정 하 는 데 사 용 됩 니 다.
q 모든 컨트롤 은 같은 애니메이션 효 과 를 가 집 니 다.
q 모든 컨트롤 의 애니메이션 효 과 를 설정 할 수 있 는 시간 입 니 다. 이 작업 은 xml 에서 도 코드 에서 도 이 루어 질 수 있 습 니 다.
구체 적 인 실현 상황 코드: animation layout. xml.코드 에 android: animation = "@ anim / animatonset 1" 을 사용 하여 이전 animation 을 참조 합 니 다.
마지막 으로 이미 쓴 listview 에 애니메이션 효 과 를 추가 할 수 있 습 니 다.추가 방식 은 간단 합 니 다. listview 의 xml 파일 성명 에서 android: layoutAnimation = "@ anim / animationlayot" 를 사용 하면 됩 니 다.
코드 보기
animatonset1
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000" />
</set>
animationlayout
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="0.5"
android:animationOrder="random"
android:animation="@anim/animatonset1" />
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.