当用户触摸视频屏幕时,如何在视频视图中隐藏和取消隐藏图像按钮(取消按钮)?

时间:2016-12-13 02:09:34

标签: android android-studio ontouchlistener android-videoview

当用户触摸视频屏幕时,我正试图使我的图像按钮可见和不可见。(我正在使用视频视图在Android工作室上播放视频)。最初,图像按钮是不可见的,但我希望如果用户可见触摸视频屏幕,如果他再次触摸它,我希望图像按钮变得不可见。

我使用了以下代码,但是当我触摸视频时,它说不幸的是你的应用程序停止工作并让我回到主要活动(关闭玩家活动)!专家可以告诉我如何解决这个问题谢谢

@Override
    public boolean onTouchEvent(MotionEvent event) {
        but1= (Button)findViewById(R.id.imageButtonBack);
        if (event.getAction() == MotionEvent.ACTION_DOWN) {

            but1.setVisibility(View.VISIBLE);
        }
        if (event.getAction() == MotionEvent.ACTION_UP) {

            but1.setVisibility(View.INVISIBLE);
        }
        return super.onTouchEvent(event);
    }

activity_player.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_player"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">




    <VideoView android:id="@+id/videoView"
        android:layout_width="fill_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:layout_height="fill_parent">
    </VideoView>

    <ImageButton
        android:paddingLeft="5dp"
        android:paddingTop="8dp"
        android:layout_width="67dp"
        android:layout_height="40dp"
        android:id="@+id/imageButtonBack"
        android:src="@drawable/donebutton_active"
        android:visibility="gone"
        android:onClick="donebutton" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

应该在onCreate中的setContentView(R.layout.xxx)之后调用findViewById,

像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.xx);
    but1= (Button)findViewById(R.id.imageButtonBack);

}