在android中作为对话框的活动

我想使用一个activity as dialog ,我把活动的主题作为对话,我成功了。 但我有问题在这里是当我点击活动以外的其自动获得closures和以前的活动开始..

我试图做一个透明的父母布局它看起来不像一个对话框..

我想用这个活动来创build我的应用程序中的新帐户,因为它只有3个字段,所以在平板电脑看起来很大的空间未使用…所以我想使用活动作为对话…..

然后提前… !!! 例子将不胜感激.. !!!!!

  • 将数据向后发送到以前的活动
  • Android导航抽屉实施活动
  • 在刷卡时结束活动吧?
  • 活动已泄露窗口/对话框(再次!)
  • 打开活动popup,而不是在Android的其他屏幕?
  • 意图恢复以前暂停的活动(从通知中调用)
  • Android默认启动LAONCHER活动的模式?
  • runOnUiThread在片段中
  • 尝试以下属性

      this.setFinishOnTouchOutside(false); 

    根据需要在代码中进行更改。

    谢谢

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/transparent" android:orientation="vertical" android:paddingBottom="20sp" > <RelativeLayout android:id="@+id/RlayMain" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_marginLeft="20sp" android:layout_marginRight="30sp" android:layout_marginTop="120sp" android:background="#FFFFFF" android:padding="10sp" > <TextView android:id="@+id/txtsignin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="SIGN IN" android:textColor="#000000" android:textSize="25sp" /> <EditText android:id="@+id/edtUserName" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/txtsignin" android:layout_marginTop="10sp" android:layout_toRightOf="@+id/txtuser" android:hint="USERNAME" /> <EditText android:id="@+id/edtPassword" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/edtUserName" android:layout_marginTop="10sp" android:hint="PASSWORD" android:inputType="textPassword" /> <Button android:id="@+id/btnSignIn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/edtPassword" android:layout_marginTop="10sp" android:paddingBottom="10sp" android:paddingTop="10sp" android:text="Sign In" > </Button> <Button android:id="@+id/btnSignUp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/btnSignIn" android:layout_marginTop="10sp" android:paddingBottom="10sp" android:paddingTop="10sp" android:text="Sign Up For Free!" > </Button> </RelativeLayout> </RelativeLayout> 

    如果你还没有尝试过,那么这就是以对话forms实现活动的方法:在清单文件中,将以下属性添加到活动中:

      <activity android:name=".MyActivityName" android:theme="@android:style/Theme.Dialog" /> 

    按照我定义的对话框开始活动

     <activity android:theme="@android:style/Theme.Dialog" /> 

    现在当tartActivity()它显示像对话框和父活动显示在后面,我想一个button,我点击对话框应该消除,父活动应该显示,而不刷新页面。

    创build一个活动,通常我们创build它。

    也检查android.com上的CustomDialogActivity.java

    我认为你应该创造一个对话的活动,然后帮助

    你可以通过这个为你的活动设置风格和主题。

    对于Vivek提到的从API 11点击外部窗口时避免closures活动的问题,使用this.setFinishOnTouchOutside(false);

    但对于以前的API使用此代码:

     @Override public boolean onTouchEvent(MotionEvent event) { if ( event.getAction() == MotionEvent.ACTION_DOWN && isOutOfBounds(this, event)){ return true; } return super.onTouchEvent(event); } private boolean isOutOfBounds(Activity context, MotionEvent event) { final int x = (int) event.getX(); final int y = (int) event.getY(); final int slop = ViewConfiguration.get(context).getScaledWindowTouchSlop(); final View decorView = context.getWindow().getDecorView(); return (x < -slop) || (y < -slop) || (x > (decorView.getWidth()+slop)) || (y > (decorView.getHeight()+slop)); } 

    在移动设备和平板电脑中使用相同的活动。

    手机: –

    1. 转到res – >值。
    2. 打开styles.xml并添加以下主题设置。

    styles.xml: –

      <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> 

    平板电脑: –启动活动作为对话框。

    1. 转到“res”。
    2. 创build新的文件夹“values-sw720dp”。
    3. 创build新的styles.xml并添加以下主题设置。

    styles.xml: –

     <style name="AppTheme" parent="Theme.AppCompat.Light.Dialog"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="colorPrimary">@color/primary_color</item> <item name="colorPrimaryDark">@color/primary_dark_color</item> <item name="android:textColorPrimary">@color/white</item> <item name="colorAccent">@color/material_green_800</item> <item name="colorButtonNormal">@color/material_green_800</item> <item name="windowFixedHeightMajor">800dp</item> <item name="windowFixedHeightMinor">800dp</item> </style> 

    Manifest.xml: –

      <activity android:name=".LogInActivity" android:label="@string/title_activity_log_in" android:screenOrientation="portrait" android:theme="@style/AppTheme" //set the theme activity android:windowSoftInputMode="adjustPan" > </activity>