Android褪色/调光就像菜单选项一样

时间:2012-06-05 07:16:38

标签: android android-layout android-animation

我有一些带有图标的布局。当我触摸底部的一个图标时,在底部的1/4屏幕上会变成类似于我自己创建的选项菜单。

我的目标是在屏幕的其余部分淡出/淡化,除了底部的1/4。还要使屏幕的这一部分处于非活动状态,例如android中的optionMenu。

你知道我怎么能这样做?我创建了两个独立的布局,一个是图标,另一个是菜单?

谢谢。

这是ma初始布局:

<?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" />

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

您可以使用Popwindow显示选项菜单。