Lee*_*eem 30 android android-widget android-manifest android-emulator android-layout
如果我已经定义了一个Activity:
public class DialogActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(dialog_activity.xml);
}
}
Run Code Online (Sandbox Code Playgroud)
我想像对话框一样显示上面的活动,所以在AndroidManifest.xml文件中,我声明这个活动如下:
<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"/>
Run Code Online (Sandbox Code Playgroud)
此时一切都很好,我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>
Run Code Online (Sandbox Code Playgroud)
然后,DialogActivity在AndroidManifest.xml中声明为.
<activity android:name=".DialogActivity" android:theme="@style/myDialog"/>
Run Code Online (Sandbox Code Playgroud)
我DialogActivity现在甚至占据整个屏幕:(.宽度和高度定义:
<item name="android:width">100dip</item>
Run Code Online (Sandbox Code Playgroud)
在主题上没有任何效果,为什么?
Lee*_*eem 42
我终于想出了一种方法来自定义我的大小DialogActivity.
这是在onCreate()方法内DialogActivity,添加以下代码:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.x = -20;
params.height = 100;
params.width = 550;
params.y = -10;
this.getWindow().setAttributes(params);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37432 次 |
| 最近记录: |