2012-06-05 56 views
0

我有一些圖標的佈局。當我觸摸底部的一個圖標時,底部屏幕的1/4將成爲我自己創建的選項菜單。安卓淡入淡出/菜單選項暗淡

我的目標是褪色/昏暗現在屏幕的其餘部分,除了底部的1/4。也可以使這部分屏幕處於非活動狀態,例如android中的optionMenu。

你有什麼想法我怎麼能做到這一點? Shuld我創建了兩個獨立的佈局,一個是圖標,另一個是菜單?

謝謝。

這裏是馬初始佈局:

<?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" 
android:background="@drawable/bg" > 


<RelativeLayout 
    android:id="@+id/mainRelativeLayout" 
    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" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" > 

    <TextView 
     android:id="@+id/CenterTextViewJournals" 
     android:layout_width="wrap_content" 
     android:layout_height="20dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="   " /> 

    <ImageView 
     android:id="@+id/invisibleImageView" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

    <ImageView 
     android:id="@+id/EditorialBoard" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_above="@+id/CenterTextViewJournals" 
     android:layout_centerHorizontal="true" 
     android:onClick="goEditorialBoard" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/Contact" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_alignBottom="@+id/CenterTextViewJournals" 
     android:layout_toRightOf="@+id/CenterTextViewJournals" 
     android:onClick="goContact" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/AimsAndScope" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_alignBottom="@+id/CenterTextViewJournals" 
     android:layout_toLeftOf="@+id/CenterTextViewJournals" 
     android:onClick="goAimsAndScope" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/Articles" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:onClick="goArticles" 
     android:paddingBottom="9px" 
     android:paddingLeft="6px" 
     android:paddingRight="8px" 
     android:paddingTop="4px" 
     android:src="@drawable/button_about_active" /> 

</RelativeLayout> 


<ImageView 
    android:id="@+id/StartSelectingDifferentJournal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:scaleType="fitXY" 
    android:src="@drawable/journal_selecting_barr" /> 

<Gallery 
    android:id="@+id/gallery" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/SelectDifferentJournaleditText" 
    android:layout_alignParentLeft="true" 
    android:gravity="bottom" /> 

<EditText 
    android:id="@+id/SelectDifferentJournaleditText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" 
    android:visibility="gone" 
    android:hint="Search Journal"> 
</EditText> 

<ImageView 
    android:id="@+id/SelectingDifferentJournal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/gallery" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:gravity="bottom" 
    android:scaleType="fitXY" 
    android:src="@drawable/journal_selecting_barr" /> 

+0

你有沒有在framelayout中的一切? –

+0

我實際上在RelativeLayout中有一切。 –

回答

1

好吧,這裏是這樣做的一個簡單的方法,但你將不得不修改您的佈局設置。

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


<RelativeLayout 
    android:id="@+id/mainRelativeLayout" 
    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" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" > 

    <TextView 
     android:id="@+id/CenterTextViewJournals" 
     android:layout_width="wrap_content" 
     android:layout_height="20dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="   " /> 

    <ImageView 
     android:id="@+id/invisibleImageView" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

    <ImageView 
     android:id="@+id/EditorialBoard" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_above="@+id/CenterTextViewJournals" 
     android:layout_centerHorizontal="true" 
     android:onClick="goEditorialBoard" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/Contact" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_alignBottom="@+id/CenterTextViewJournals" 
     android:layout_toRightOf="@+id/CenterTextViewJournals" 
     android:onClick="goContact" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/AimsAndScope" 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_alignBottom="@+id/CenterTextViewJournals" 
     android:layout_toLeftOf="@+id/CenterTextViewJournals" 
     android:onClick="goAimsAndScope" 
     android:src="@drawable/button_about_active" /> 

    <ImageView 
     android:id="@+id/Articles" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:onClick="goArticles" 
     android:paddingBottom="9px" 
     android:paddingLeft="6px" 
     android:paddingRight="8px" 
     android:paddingTop="4px" 
     android:src="@drawable/button_about_active" /> 

</RelativeLayout> 


<ImageView 
    android:id="@+id/StartSelectingDifferentJournal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:scaleType="fitXY" 
    android:src="@drawable/journal_selecting_barr" /> 
</RelativeLayout> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/dimmer_layout"/> 
<RelativeLayout 
    layout_width="match_parent" 
    layout_height="match_parent"> 
<Gallery 
    android:id="@+id/gallery" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/SelectDifferentJournaleditText" 
    android:layout_alignParentLeft="true" 
    android:gravity="bottom" /> 

<EditText 
    android:id="@+id/SelectDifferentJournaleditText" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" 
    android:visibility="gone" 
    android:hint="Search Journal"> 
</EditText> 

<ImageView 
    android:id="@+id/SelectingDifferentJournal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/gallery" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:gravity="bottom" 
    android:scaleType="fitXY" 
    android:src="@drawable/journal_selecting_barr" /> 
</RelativeLayout> 
</FrameLayout> 

當菜單被打開,設置線性佈局的背景爲透明的黑色像0x55000000。

void onMenuOpen() { 
    openTheMenu(); 
    LinearLayout llDimmer = (LinearLayout)findViewById(R.id.dimming_layout); 
    llDimmer.setBackgroundColor(0x55000000); 
} 

然後,您可以在菜單關閉後將背景顏色設置爲0x00000000。

+0

非常感謝你@BananaNutTruffles,我想要像你說的那樣做,但是有一個問題,我有一個複雜的佈局,有多個相對佈局,不知道如何使用你的方法,我添加了我的初始佈局我的問題,如果你能幫助它會很好。 –

+0

XML中的哪一個是你的菜單視圖 –

+0

在菜單中想要有這些項:id/gallery,id/SelectDifferentJournaleditText和id/SelectingDifferentJournal –