我有一個列表視圖,其中包含一個圖標,一個標題和一個字幕。如何在進行自定義動畫時調整可繪製項目(圖像)的進度條?
我的老闆問我他想把這個圖標改成動畫。當他指的是動畫時,它只是顯示三個圖像繼續,使它看起來像動畫。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="animStyle" parent="@android:style/Widget.ProgressBar.Small">
<item name="android:indeterminateDrawable">@anim/icon_anim</item>
</style>
</resources>
我用進度條:
我已經使動畫工作,通過在資源編寫XML /動畫文件夾:
<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="150" android:drawable="@drawable/icon_anmi_1"/>
<item android:duration="150" android:drawable="@drawable/icon_anmi_2" />
<item android:duration="150" android:drawable="@drawable/icon_anmi_3" />
</animation-list>
並通過價值的文件夾寫另一進度欄樣式因爲圖標應該自動啓動動畫。它做什麼。此外,在我的名單適配器的XML佈局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="60dip"
android:padding="10dip"
>
<ProgressBar android:id="@+id/itemIcon" style="@style/animStyle"
android:layout_width="60px"
android:layout_height="60px"
android:layout_marginRight="10dip"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/itemInfo"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/itemIcon"
android:gravity="center_vertical"
android:textSize="18sp"
android:textStyle="bold"
android:ellipsize="marquee" android:singleLine="true"/>
<TextView
android:id="@+id/subtitle"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/itemIcon"
android:gravity="center_vertical"
android:textSize="10sp"
android:ellipsize="marquee" android:singleLine="true" android:layout_below="@+id/itemInfo"/>
</RelativeLayout>
我也做結合適配器時的變化在我的代碼,列出項目:
adapterForList= new SimpleAdapter(this, hashMapListForListView, R.layout.s_item, new String[]{"imageUri","title","subtitle"},new int[]{R.id.itemIcon,R.id.itemInfo,R.id.subtitle});
adapterForList.setViewBinder(new SimpleAdapter.ViewBinder() {
public boolean setViewValue(View view, Object data,
String textRepresentation) {
if (view.getId() == R.id.itemIcon) {
//Not need progress
//int value = Integer.parseInt(data.toString());
//((ProgressBar) view).setProgress(value);
return true;
}
return false;
}
});
lv.setAdapter(adapterForList);
動畫工作正常。我現在面臨的唯一問題是我爲動畫放置的圖像無法調整到正確的大小。它只能顯示它的一部分。我想知道是否有辦法讓我定義要顯示的圖像的大小,以便它可以像圖像視圖一樣好。
謝謝!