-1

Я пытаюсь сделать свою кнопку изображения видимой и невидимой, когда пользователь прикасается к экрану видео (я использую видео-просмотр для воспроизведения видео на студии 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> 

ответ

0

findViewById следует позвонить после setContentView (R.layout.xxx) в OnCreate,

вроде этого:

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

} 
+0

Спасибо за ответ. У меня нет какого-либо макета, как сделать его? Я новичок в программировании на Android, поэтому надеюсь, что вы поможете мне добавить макет, если это необходимо для устранения проблемы. – user1788736

+0

[link] (https://github.com/linsea/UniversalVideoView) – NateZh

+0

Возможно, вы можете попробовать сначала изучить проект других. как выше. – NateZh