我有一些带有图标的布局。当我触摸底部的一个图标时,在底部的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" />
答案 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显示选项菜单。