我想使用Android Gallery,但从右到左绘制项目(希伯来语的书写方向)画廊的物品代表用希伯来语写的书中的章节,因此物品顺序是重要的
Android将它们画向相反的方向,如下所示(选择第一项)12 3 4 5
而不是这个5 4 3 21
我已经尝试在Gallery类中重写这些方法(他们都没有改变绘图顺序):
@Override
public int getChildDrawingOrder(int childCount, int i) {
return getChildDrawingOrder(childCount, childCount - i+1)
}
我从调试中了解到getChildDrawingOrder已被访问我尝试了几种变体,但都不起的作用
我也试过
@Override
public void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(180, getWidth()/2, getHeight()/2);
super.onDraw(canvas);
canvas.restore();
}
如果有人能帮我,我会很高兴的我不能得到正确的
非常感谢Oron
使用ImageAdapter类向Gallery提供图像,并以相反的顺序加载图像,例如
gallery = (Gallery) findViewById(R.id.gallery);
Integer[] mImageIds = new Integer[] {
R.drawable.chapter_5_image,
R.drawable.chapter_4_image,
R.drawable.chapter_3_image,
R.drawable.chapter_2_image,
R.drawable.chapter_1_image};
imageAdapter = new ImageAdapter(this, mImageIds);
gallery.setAdapter(imageAdapter);
ImageAdapter类应该扩展android.widget.BaseAdapter——有很多例子展示了如何实现这种类型的适配器。
此外,在图库中设置初始选择如下:
gallery.setSelection(4, true);
这应该定位画廊以显示第1章的图像。