cheli_71 2013-09-05 08:07 采纳率: 0%
浏览 2333
已采纳

动态的删除一个图像出现的问题

程序中的 oncreate 方法

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

     getWindow().setFormat(PixelFormat.UNKNOWN);
    surfaceView = (SurfaceView)findViewById(R.id.camerapreview);
    surfaceHolder = surfaceView.getHolder();
    surfaceHolder.addCallback(this);
    surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

    controlInflater = LayoutInflater.from(getBaseContext());
    viewControl = controlInflater.inflate(R.layout.control, null);
    image =(ImageView) viewControl.findViewById(R.id.img);
    LayoutParams layoutParamsControl 
        = new LayoutParams(LayoutParams.FILL_PARENT, 
        LayoutParams.FILL_PARENT);
    this.addContentView(viewControl, layoutParamsControl);
}

control.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
        >
<ImageView
    android:id="@+id/img"  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ic_launcher"
    />

 <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button"
/>

</LinearLayout>

如何通过点击按钮来删除这个图像。实际上我想从当前的像素位置把这个图像转移到别的位置。

我点击按钮来实现:

b =(Button)findViewById(R.id.button);
        b.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) { 
                System.out.println("Button clicked");
                TranslateAnimation anim = new TranslateAnimation(0,0,200,200);              
                anim.setDuration(2000);
                image.setAnimation(anim); 
            }
        });

但是现在图像会消失一俩秒钟。哪里出错了呢是?事实上我想在 accelerometer 改变的时候移动图像。

  • 写回答

1条回答 默认 最新

  • longhai326 2013-09-06 03:38
    关注

    先写一个xml文件放在drawable目录下的anim目录,没有自己新建translate.xml
    <?xml version="1.0" encoding="utf-8"?>

    <translate
        android:duration="2000"
        android:fromXDelta="0"
        android:repeatCount="1"
        android:repeatMode="reverse"
        android:toXDelta="200%p" />
    

    //在代码中
    Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
    // 开始执行动画
    image.startAnimation(animation);

    如果想要去掉ImageView,需要先执行 image.clearAnimation();然后将image.setVisibility(View.GONE);
    或者设置 image.setVisibility(View.INVISIBLE);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧