可拖动的面具android

时间:2012-06-29 18:23:59

标签: android android-canvas

我正在寻找一个教程来实现一个非常容易使用actionscript创建的效果,但需要在JAVA for android中进行。

基本上我想要两个图像在彼此的顶部,一个在其顶部有一个可拖动的遮罩层..基本上这样的事情甚至:

http://flashexplained.com/actionscript/how-to-easily-make-a-draggable-mask-with-actionscript/

1 个答案:

答案 0 :(得分:1)

你必须这样RelativeLayout

  <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ImageView 
            android:src="@drawable/ic_launcher"
            android:layout_alignTop="true"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignBottom="true"/>
        <ImageView 
            android:id="@+id/top_mask"
            android:src="@drawable/ic_launcher"
            android:layout_alignTop="true"
            android:layout_alignBottom="true"/>
    </RelativeLayout>

和代码访问上面的掩码并以这种方式设置其拖动事件:

ImageView img = (ImageView)findViewById(R.id.top_mask);
                img.setOnDragListener(new View.OnDragListener() {
                    @Override
                    public boolean onDrag(View v, DragEvent event) {
                        RelativeLayout.LayoutParams params = (android.widget.RelativeLayout.LayoutParams) v.getLayoutParams();
                        params.topMargin = (int) event.getX();
                        params.bottomMargin = (int) event.getY();
                        v.setLayoutParams(params);
                        return false;
                    }
                });

我还没有测试过这段代码。我刚写了这个。我相信这必须帮助您开始,甚至是一个完整的解决方案:)

的问候, Aqif Hamid