Android макет приотитости - PullRequest
       4

Android макет приотитости

0 голосов
/ 12 декабря 2011

Мой код xml:

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

    <RelativeLayout
        android:id="@+id/relativeLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:visibility="invisible">


        <ImageButton
            android:id="@+id/video_playback_pause"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>


        <SeekBar
            android:id="@+id/seekbar_video"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:layout_below="@id/video_playback_pause" android:clickable=""/>

    </RelativeLayout>

    <VideoView
        android:id="@+id/videoView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true" />

</RelativeLayout>

Теперь переопределение RelativeLayout и VideoView. VideoView - это шоу, а RelativeLayout скрыто. Как сделать RelativeLayout поверх VideoView?

Другая проблема - почему панель поиска не щелкает?

Я считаю, что приоритет макета определяется в порядке установления? Но проблема seekbar все еще не решена.

Ответы [ 3 ]

1 голос
/ 12 декабря 2011

Попробуйте это ...

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/relativeLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" >


    <ImageButton
        android:id="@+id/video_playback_pause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>


    <SeekBar
        android:id="@+id/seekbar_video"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_below="@+id/video_playback_pause" android:clickable="true"/>

</RelativeLayout>

<VideoView
    android:id="@+id/videoView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" />

 </LinearLayout>

EDIT:

Вы можете использовать свойство visibilty, как показано ниже

android:visibility="invisible" // invisible- just invisible the controls not the space
                               //gone - removes the allocated space too
                               //visible- shows the control

Во время выполнения также вы можете изменить

mylayout.setVisibilty(View.GONE)...
1 голос
/ 12 декабря 2011

Когда дело доходит до вашей панели поиска, это может быть возможным ответом: установите

android:clickable="true" 

и в своем коде java попробуйте установить прослушиватель событий.Для прослушивателей событий: http://developer.android.com/guide/topics/ui/ui-events.html

Когда дело доходит до вашего макета, вы можете попробовать использовать линейный макет, а затем вложить в него относительный макет.Возможно, вам придется немного изменить свой XML.

1 голос
/ 12 декабря 2011

Ответ на первую часть вопроса.
android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: layout_centerInParent = "true"> Видимость внутреннегоlativeLayout установлена ​​на invisible.Remove it.

Вы указали android: clickable = "" для панели поиска.Может быть, поэтому его не работает.Удалите это и попробуйте.

Надеюсь, это поможет вам.

...