2013-02-24 3 views
0

VideoView 위에 버튼을 숨기고 표시하는 데 문제가 있습니다. 단순함을 위해 나는 xml 파일을 가지고 있는데, 실제 파일은 훨씬 더 많은 버튼을 가지고있다. 나는 동영상을 재생할 때 VideoView 뒤에 붙어서 보임

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

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

<Button 
    android:id="@+id/play" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Play" /> 

</RelativeLayout> 

는 기본적으로 나는 View.INVISIBLE에있는 버튼을 설정하고 비디오 onCompletion에 완료 될 때 나는 View.Visible에있는 버튼을 설정합니다. 문제는 버튼을 클릭 할 수 있지만 VideoView 뒤에 있으며 보이지 않는다는 것입니다. FrameLayout에서이 작업을 수행 할 수 있었지만, RelativeLayout에서만 작업 할 수있는 화면에 맞게 videoview를 늘려야합니다. RelativeLayout에서이 모든 작업을 수행 할 여지가 있습니까?

나는 또한 .bringToFront()을 시도했지만 성공하지 못했습니다. 도움에 미리

덕분에

+0

버튼을 먼저 선언하면 어떻게됩니까? – Sam

+0

그냥 주위를 전환 해 보았습니다. 변경된 유일한 점은 처음에 VideoView 위에있는 것이 아니라 처음에 VideoView가 해당 버튼을 덮고 있다는 것입니다. 나는 여전히 버튼을 클릭 할 수 있습니다, 그것은 단지 보이지 않습니다. – Jacob

+0

이전에 가지고 있던 FrameLayout 솔루션을 사용하여 RelativeLayout (화면에 맞게 늘어남) 내에서 FrameLayout을 래핑하고 부모와 일치 시키려고 했습니까? 또한 VideoView와 Button을 제거하고 다시 팽창 시키려고 했습니까? 그리고 ... 버튼에 View.GONE을 사용해 보셨습니까? –

답변

0

난 당신이 VideoView를 지켜 보면서 위해 fill_parent를 사용했기 때문에이 것을 떨어졌다. 또한 다음 사항을 모두 만족해야합니다.

android:layout_alignParentBottom="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentRight="true" 
android:layout_alignParentTop="true" 

그래서 활동이 전체 화면을 늘리고 있습니다. 다음과 같이하십시오. 선형 레이아웃을 사용하고 뷰에 가중치를 지정하십시오.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
<VideoView 
    android:layout_weight="0.9" 
    android:id="@+id/videoEnter" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 
<Button 
    android:layout_weight="0.1" 
    android:id="@+id/play" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Play" /> 
</LinearLayout> 

나는 이것을 시도했으며 화면의 나머지 부분에는 하단의 버튼과 VideoView를 보여줍니다.

+0

고마워요.하지만 비디오보기를 오버레이하는 버튼이 필요합니다. 동영상보기 아래에 버튼이 있습니다. 보이지 않는 것으로 설정되어 있으면 동영상과 반대되는 배경이 보입니다. 동영상보기는 전체 화면에 맞게 늘려야합니다. – Jacob

+0

좋아, 내 모든 정렬에 대한 첫 번째 진술이 사실로 설정되어 있다는 생각이 들었다. 나는 앞뒤로 가면서 좌우 정렬 문을 제거했으며 현재 예상대로 작동하고 있습니다. 왜 그런지 잘 모르겠지만 작동하므로 질문하지 않을 것입니다. 나는 이것을 앞두고 올바른 것으로 표시 할 것입니다. 도와 줘서 고마워, 고마워. – Jacob

+0

그게 전부입니다. 제이콥에게 어떤 힌트를 줄 수있게 된 것을 기쁘게 생각합니다. 나는 또한 당신의 새로운 질문에 대한 답을 알고 싶어합니다. :) –