我希望我的活动在具有透明度的对话框中开始新活动?

时间:2011-11-09 05:42:21

标签: android

我有一个带有一些按钮的Activity,如果我点击一个特定的按钮,一个新的Activity开始显示一些图像,我想在显示图像的对话框中打开这个活动,选择一个图像并返回图像路径到第一项活动?我有选择图像的代码,但如何将图像路径发送回第一个活动? Plz帮助

3 个答案:

答案 0 :(得分:2)

将活动主题设置为清单中的android:Theme.Dialog

对于第二个疑问:获取图像路径:

frist按StartActivityForResult()开始第二项活动。现在,putExtra(key, value)finish()将路径置于意图之中。现在,执行将返回到活动1的 OnActivityResult 。请按GetExtra(key)阅读您的路径。

在此处详细了解:http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:2)

活动1:

像这样调用Activity2:

startActivityForResult(intent, IMAGE_SELECTION_RESULT);

protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) 
    {
      super.onActivityResult(requestCode, resultCode, data);

      if (requestCode == Activit1.IMAGE_SELECTION_RESULT) 
      {                    
          if (resultCode == RESULT_OK) 
          {
             Bundle bun = data.getExtras();
             String file = bun.getString(KEY_FILENAME);

          }
      } 
   }

活动2

选择文件时

    Intent intent = new Intent();

    intent.putExtra(Activity1.KEY_FILENAME, getPath());
    setResult(RESULT_OK, intent);
    finish();        

至于透明位,请将其添加到清单中:

<activity android:name=".Activity2" android:theme="@style/Transparent" />
根据您的满意度,

@android:style/Theme.Translucent.NoTitleBarandroid:theme="@android:style/Theme.Dialog

在Activity2的onCreate()中:

    getWindow().setFlags( WindowManager.LayoutParams.FLAG_BLUR_BEHIND, 
                          WindowManager.LayoutParams.FLAG_BLUR_BEHIND );

答案 2 :(得分:0)

将图像路径存储在静态变量中并从变量中获取路径。注意类实例不是创建和直接使用变量,如Config.path Config是class,path是静态变量