从左到右,从右到左滑动图像

时间:2013-04-24 06:41:25

标签: android

我正在开发一个应用程序,我想在其中添加可以从左到右,从右到左滑动的图像,如下图所示。内部白色游戏图像应该从左到右移动和反之亦然。

enter image description here

到目前为止我所做的是,我能够从左到右移动单个图像,反之亦然,但我想要设置背景图像以及上面圆形黑色背景。

这是我的代码:

imageView.setOnTouchListener(new OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        int eid = event.getAction();
        switch (eid) {
        case MotionEvent.ACTION_MOVE:

            RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
            int x = (int) event.getRawX();
            mParams.leftMargin = x - 50;
            imageView.setLayoutParams(mParams);

            break;

        default:
            break;
        }
        return true;
    }
});

修改

我试图通过设置我的布局xml来管理背景图像,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="49dp"
        android:background="@drawable/set_user_profile_back"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/hello_world"
            android:src="@drawable/next" />
    </RelativeLayout>

</RelativeLayout>

但是现在我面临图像尺寸问题,图像尺寸减小了如何解决这个问题以及如何修复图像移动的起点和终点。

enter image description here

任何想法和建议都将适用

1 个答案:

答案 0 :(得分:6)

你可以试试这段代码Juned

public class MainActivity extends Activity {

Button b1;
ImageView logo;
float width;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b1 = (Button) findViewById(R.id.button1);
    logo = (ImageView) findViewById(R.id.logo);

    Display display = getWindowManager().getDefaultDisplay();
    width = display.getWidth();
    final Animation posX = new TranslateAnimation(0, width - 50, 0, 0);
    posX.setDuration(1000);
    posX.setFillAfter(true);

    b1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            logo.startAnimation(posX);
            logo.setVisibility(View.VISIBLE);
        }
    });
}}