从右到左绘制Android Gallery项目



我想使用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章的图像。

最新更新