0

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

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

你知道我该怎么做吗?我应该创建两个单独的布局,一个带有图标,另一个带有菜单?

谢谢你。

这是初始布局:

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

4

2 回答 2

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。

于 2012-06-05T07:58:30.940 回答
0

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

于 2012-06-05T08:06:07.460 回答