Android页面翻页效果在布局/屏幕上的应用

8
我正在开发一个项目,需要把整个视图/布局(curl)到一张图片上,其中包括文本框、输入框、按钮等。我的任务是要将整个布局以及这些元素都curl到图片上。我不知道如何做才能curl整个布局而不仅仅是图片。
请帮助我。

请定义如何使用“curl”布局。 - Jan Dragsbaek
抱歉,如果我的问题没有表达清楚。我想在布局上应用卷曲页面效果,而不是图像,这样当我卷曲页面时,文本视图、按钮等也会沿着布局卷曲。 - Me-an-Droid
在Stackoverflow上有很多关于页面翻页的问题,例如这个问题 - 87element
@Me-an-Droid,是否可以在private int[] mBitmapIds中提供动态布局路径? - RaMeSh
嗨@Me-an-Droid,你有没有找到任何关于动态布局卷曲效果的解决方案? - Abdulfatah Nasrat
2个回答

8
我使用了harism的github项目来完成这个任务。你只需要通过填充位图图像来获取布局。以下是可以替换CurlActivity.java文件中loadBitmap函数的代码。
// Bitmap resources.
private int[] mBitmapIds = { R.layout.infopage0,R.layout.infopage1,
                             R.layout.infopage2, R.layout.infopage3 };

    @Override
    public int getPageCount() {
        return 4;
    }

    private Bitmap loadBitmap(int width, int height, int index) {
        LayoutInflater inflater = 
              (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View v = inflater.inflate(mBitmapIds[index],null);
        v.measure(
                  MeasureSpec.makeMeasureSpec(width,MeasureSpec.EXACTLY),
                  MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
            v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
            Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight()
                    ,Bitmap.Config.ARGB_8888);
            Canvas c = new Canvas(b);
            v.draw(c);          
        return b;
    }

数组 mBitmapIds 现在是一个包含 XML 布局 ID 的数组。

非常感谢Locatus...您的回复很棒。 - fish40
我能够处理布局的卷曲,但问题是如何处理子视图的点击?因为即使在屏幕/视图上单击一次,也会被识别为要卷曲页面。 - Gautam Mandsorwale
这是一个位图,所以我猜我们将不得不以某种方式处理回调,以便位图被布局替代。 - abhishek
谢谢,不错的代码片段 :) \m/ - Vivek Singh
@Locutus,是否可以在私有int [] mBitmapIds中提供动态布局路径? - RaMeSh

0

1
嗨,Vineet。感谢提供示例链接。我已经使用这个示例来对图像应用卷曲效果,但我不知道如何将其应用于布局。 - Me-an-Droid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接