【发布时间】:2011-10-01 06:07:36
【问题描述】:
如果我定义了一个活动:
public class DialogActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(dialog_activity.xml);
}
}
我想像对话框一样显示上面的活动,所以在 AndroidManifest.xml 文件中,我声明这个活动如下:
<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"/>
此时一切正常,我的DialogActivity 显示为对话框。
问题是如何自定义DialogActivity的宽高,让它更像一个小对话框? (目前默认占据大部分屏幕)
----------------更新--------------- --------
我定义了一个自定义主题,如下所示:
<style name="myDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:width">100dip</item>
<item name="android:height">100dip</item>
</style>
然后,将 AndroidManifest.xml 中的DialogActivity 声明为。
<activity android:name=".DialogActivity" android:theme="@style/myDialog"/>
我的DialogActivity现在甚至占据了整个屏幕:(。width和height定义:
<item name="android:width">100dip</item>
在主题中没有任何效果,为什么?
【问题讨论】:
-
尝试宽度和高度为“wrap_content”。也添加一些边距。
-
命名空间不正确。试试这个,
-
@chedine ,这是我的错字。我按照你的建议做了,但没有解决问题
-
尝试在您的活动中设置主题。在你的 super.onCreate();YourActivity.setTheme(R.style.myDialog) 之前并从清单中删除主题选项。
标签: android android-layout android-emulator android-widget android-manifest