0

我的應用程序有以下片段如何greyout片段

1登錄2措施3查看數據

用戶登錄和滑動到措施片段我的應用程序會自動測量一些參數後viewpager。

由於viewpager可以輕掃。在用戶想要在沒有登錄的情況下進行測量的情況下,可以灰顯/禁用片段。

謝謝。

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

    <ImageButton 
     android:id="@+id/qt_deleteButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/qt_testtype" 
     android:layout_marginLeft="28dp" 
     android:layout_marginTop="18dp" 
     android:layout_toRightOf="@+id/qt_saveButton" 
     android:background="@drawable/border_button" 
     android:src="@drawable/delete" /> 

    <ImageButton 
     android:id="@+id/qt_saveButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/qt_deleteButton" 
     android:layout_toRightOf="@+id/maintxt_measure" 
     android:background="@drawable/border_button" 
     android:src="@drawable/save" /> 

    <FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" > 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:src="@drawable/main_unknown" /> 

    </FrameLayout> 

</RelativeLayout> 

我已經編輯了我的佈局文件到上面,但是下面的圖層仍然是可點擊的。有什麼我錯過了嗎?

感謝

+0

從邏輯上講,在度量和視圖數據的佈局上,你可以有一個2層的FrameLayout,一個包含你所有的東西,一個在頂部,它是一層覆蓋整個屏幕的灰色圖像視圖,所以如果用戶沒有登錄,這個imageview將會顯示,如果用戶登錄,你會設置其可見性消失。通過將此imageview置於頂部,其他視圖元素將不會收到任何觸摸事件。 – 2013-05-07 03:32:01

+0

嗨WaiChun,根據你的建議,我更新了我的xml文件。但是下面的按鈕仍然是可點擊的。謝謝 – sean 2013-05-07 05:17:34

+0

在imageview上執行此操作,實現一個onClickListner,它將調用一個完全沒有任何功能的函數,然後它會阻止底層可訪問 – 2013-05-07 05:35:11

回答

1

很抱歉,但沒有,這是怎麼或許應該是這樣的:

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <!-- You may change this to your relative layout, just make sure it is fill_parent --> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center"> 

     <!-- Everything related to your main activity goes here --> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/faderLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center"> 

     <ImageView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="#E0000000" 
      android:onClick="faderClicked" /> 

    </LinearLayout> 

</FrameLayout> 

所以,在你的活動,你將有一個功能public void faderClicked(View v)在那裏它什麼都沒有,你通過改變faderLayout的可見性來控制視圖。

+0

是的它完美的工作!謝謝。 – sean 2013-05-07 06:37:54

+0

沒問題,很高興我幫了忙。 – 2013-05-07 06:38:26