2012-02-22 2 views
0

다음은 gridview를 사용하여 만든 격자를 보여주기 위해 사용하는 코드입니다. 이미지가 있고 그 아래에 이미지 텍스트가 나타납니다. 예를 들어 몇 가지 텍스트를 깜빡 거리고 싶습니다. "image text3"및 "image text5"를 사용하여 사용자가 깜박이는 텍스트와 깜박이지 않는 텍스트의 차이를 알 수 있습니다. 누구나 나를 도울 수 있을까.레이아웃의 격자보기에서 특정 하위 항목을 깜박이는 (또는 움직이게하는) 방법

GridView mGridMain1 = (GridView)findViewById(R.id.gvMain1); 
Resources res = getResources(); 
List<AppInfo> listAppInfo = new ArrayList<AppInfo>(); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image1), "image text1")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image2), "image text2")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image3), "image text3")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image4), "image text4")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image5), "image text5")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image6), "image text6")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image7), "image text7")); 
listAppInfo.add(new AppInfo(BitmapFactory.decodeResource(res, R.drawable.image8), "image text8")); 
mGridMain1.setAdapter(new AppInfoAdapter(this, listAppInfo)); 
mGridMain1.setOnItemClickListener(mItemClickListener); 
+0

당신은 내 ** 그리드의 특정 위치에 애니메이션을 추가 할 수 있습니다 ** 귀하의'AppInfoAdapter' – Blundell

+0

사용자가'GridView'를 스크롤 할 때'GridView' 항목이 어떻게 동작해야합니까? – teoREtik

+0

질문이 너무 불투명합니다 ... 이미지가 어떤 조건에서 깜박 거릴까요? 여기에 예제 코드를 넣을 수 있습니다. http://selvin.pl/Blinking.zip 샘플 앱 http://selvin.pl/Blinking.apk – Selvin

답변

0

이 난 단지 (깜박) 애니메이션에있는 항목을 알려주는 사용자 정의 어댑터 클래스을 만들어 당신이 GridView의 하위 항목 (ChildViews) 만 achive 애니메이션을 수 있다고 생각합니다.

BaseAdapter 클래스를 사용하여 사용자 지정 어댑터를 만듭니다.

public class GridViewAdapterCustom extends BaseAdapter { 
Context mContext; 
List<AppInfo> listAppInfo; 
    public ListViewAdapterCustom(Context con,List<AppInfo> list){ 
    mContext=con; 
    listAppInfo=list; 
    } 
    public int getCount() { 
     return list.size(); 
    } 
    @Override 
    public Object getItem(int i) { 
     return null; 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 
    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
    LayoutInflater inflater = (LayoutInflater)con.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View row; row = inflater.inflate(R.layout.listitemview, viewGroup, false);} 
    //Add this code to whichever textview you want to animate 
    TextView blinkable_text = (TextView)row.findViewById(R.id.textView); 
    Animation myFadeInAnimation; 
    Animation myFadeInAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_in); 
    blinkable_text.startAnimation(myFadeInAnimation); 
    return row; 
    } 
} 

<?xml version="1.0" encoding="UTF-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <alpha android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:duration="50" android:repeatCount="infinite"/> 
</set> 

이 초기화 자신의 listitemview.xml 파일 및 설정 텍스트 필드를 만듭니다 fade_in.xml 파일 폴더 anim에 작성

관련 문제