Если вы видите исходный код Android SDK, вы должны найти следующие каталоги и файлы:
/opt/android-sdk-linux/platforms/android-10/data/res/drawable-hdpi/gallery_*
/opt/android-sdk-linux/platforms/android-10/data/res/drawable/gallery_item_background.xml
Вы можете скопировать эти файлы в свой проект и создать адаптер следующим образом:
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
public class ImageAdapter extends ArrayAdapter<ImageItem> {
private Context context;
private final ImageDownloader imageDownloader = new ImageDownloader();
public ImageAdapter(Context context, int layoutItem,List<ImageItem> objects) {
super(context, layoutItem, objects);
this.context=context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(R.drawable.gallery_item_background);
} else {
imageView = (ImageView) convertView;
}
imageDownloader.download(getItem(position).thumbnail, imageView); // or similar function to set imageView.
return imageView;
}
}
Затем отредактируйте xml и png файлы в каталоге ресурсов следующим образом:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When the window does not have focus. -->
<item android:drawable="@drawable/gallery_selected_default"
android:state_selected="true"
android:state_window_focused="false"/>
<item android:drawable="@drawable/gallery_unselected_default"
android:state_selected="false"
android:state_window_focused="false"/>
<!-- When the window does have focus. -->
<item android:drawable="@drawable/gallery_selected_pressed"
android:state_selected="true"
android:state_pressed="true"/>
<item android:drawable="@drawable/gallery_selected_focused"
android:state_selected="true"
android:state_focused="true"/>
<item android:drawable="@drawable/gallery_selected_default"
android:state_selected="true"/>
<item android:drawable="@drawable/gallery_unselected_pressed"
android:state_selected="false"
android:state_pressed="true"/>
<item android:drawable="@drawable/gallery_unselected_default"/>
</selector>