2014-12-05 27 views
0

我想實現一個有兩層的UI。 底層有一個背景圖像和兩個按鈕,而頂層是一個ViewPager有一些文本用於滑動。你可以參考LinkedIn的啓動畫面。 就像下面的圖片:ViewPager下面的圖層中的按鈕如何獲取Click事件?

enter image description here

目前的背景圖像(底部)的變化,而在ViewPager(頂部)刷卡文本,這工作正常。但目前的問題是:兩個按鈕(底部)無法獲得ClickPlay事件,因爲它位於ViewPager後面。我不會把按鈕放到頂層,因爲我想在瀏覽器滑動時保持按鈕靜止。有沒有人知道讓底層視圖獲得點擊事件的方法?

主要佈局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/col_7" 
    android:orientation="vertical" > 

     <LinearLayout 
      android:id="@+id/slide_background" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/slide1" 
      > 
      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       > 

       <LinearLayout 
        android:id="@+id/slide_button" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        > 
        <Button 
         android:id="@+id/slide_login" 
         android:layout_width="150dp" 
         android:layout_height="49dp" 
         android:layout_marginLeft="20dp" 
         android:background="@drawable/login_white_button" 
         android:text="@string/login" 
         android:textSize="18sp" 
         android:textColor="@color/col_11" 
         android:layout_gravity="left" 
         android:layout_marginBottom="20dp" 
         android:onClick="gotoSignin" 
        /> 
        <Button 
         android:id="@+id/signup_btn" 
         android:layout_width="150dp" 
         android:layout_height="49dp" 
         android:layout_marginLeft="20dp" 
         android:layout_marginRight="20dp" 
         android:background="@drawable/signup_button_bg" 
         android:text="@string/signup" 
         android:textSize="18sp" 
         android:textColor="@color/login_red_button_text" 
         android:layout_marginBottom="20dp" 
         android:onClick="gotoSignup" 
         android:visibility="visible" 
         /> 

       </LinearLayout> 

      </RelativeLayout> 


     </LinearLayout> 

     <android.support.v4.view.ViewPager 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/view_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

</RelativeLayout> 

EDIT1: 我改變外容器的FrameLayout和改變ViewPager的佈局參數,可以看起來更好。如果我將ViewPager的高度設置爲某個值,例如「350dp」,則該按鈕會響應我的點擊,但當高度爲「wrap_content」時,它仍然無法響應。

<android.support.v4.view.ViewPager 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/view_pager" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="top" 
      /> 

回答

0

嘗試使用的LinearLayout和重量屬性設置爲Viewpager也去掉不必要的佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/col_7" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+id/view_pager" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"/> 

    <LinearLayout 
     android:id="@+id/slide_background" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/slide1" 
     android:padding="5dp"> 

     <Button 
      android:id="@+id/slide_login" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:background="@drawable/login_white_button" 
      android:text="@string/login" 
      android:textSize="18sp" 
      android:textColor="@color/eb_col_11"/> 

     <Button 
      android:id="@+id/signup_btn" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:background="@drawable/signup_button_bg" 
      android:text="@string/signup" 
      android:layout_marginLeft="5dp" 
      android:textSize="18sp" 
      android:textColor="@color/login_red_button_text" 
      android:onClick="gotoSignup"/> 
    </LinearLayout> 

</LinearLayout> 
+0

這似乎不正常的ViewPager不顯示自身。 – tainy 2014-12-05 07:38:01

相關問題