我有一个名为Activity的whereActity子对话框.现在,我想将此活动显示为另一个活动的对话框.
我怎样才能做到这一点?

我最初的目标是模态对话框,但是你知道,Android不支持这种类型的对话框.或者,构建以对话为主题的活动可能会奏效.
这是代码,
public class DialogActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme_Dialog);
super.onCreate(savedInstanceState);
requestWindowFeature (Window.FEATURE_NO_TITLE);
Button yesBtn = new Button(this);
yesBtn.setText("Yes");
yesBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
DialogActivity.this.finish();
}
});
this.setContentView(yesBtn);
}
Run Code Online (Sandbox Code Playgroud)
然而,背景总是黑色,这真的令人困惑.人们遇到同样的问题,
http://code.google.com/p/android/issues/detail?id = 4394
我只是想让它看起来更像用户对话.那么,如何使这个DialogActivity透明,永远不会覆盖底层屏幕?
谢谢.
这就是我创作风格的方式
<style name="CustomDialogTheme" parent="android:Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
</style>
Run Code Online (Sandbox Code Playgroud) 我遵循这里描述的方法来创建EditText输入活动.但是视图没有填满屏幕的宽度.如何判断屏幕宽度?
alt text http://img405.imageshack.us/img405/5057/activitythemed.png
<activity android:name="TextEntryActivity"
android:label="My Activity"
android:theme="@android:style/Theme.Dialog"/>
Run Code Online (Sandbox Code Playgroud)
-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android:gravity="right"
android:layout_height="wrap_content">
<EditText
android:text="@+id/txtValue"
android:id="@+id/txtValue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></EditText>
<Button
android:text="Done"
android:id="@+id/btnDone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我使用以下样式并定义了一个模态活动:
<style name="Theme.TransparentD0" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/semi_transparentD0</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如何检查用户是否触摸了我的活动内部或外部?