2014-05-23 74 views
4

我正在开发我的第一个Android应用程序(仅适用于iOS和WP之前),并尝试在手机上以全屏方式显示活动,并在平板电脑上以对话框/弹出窗口的形式显示活动。我发现了Theme.Holo.DialogWhenLarge,看起来这就是我一直在寻找的东西。如何样式Theme.Holo.DialogWhenLarge自定义大小,位置,边距等?

活动在平板电脑上显示为对话框,但我没有发现如何更改活动的大小和位置。它仅显示在屏幕中央,与手机大小和尺寸大致相同。这如何改变?这是由Activity直接完成还是必须创建子样式?我看了一下Theme.Holo.DialogWhenLarge。此主题只是将PreferencePanel.Dialog应用于preferencePanelStyle。我不明白这是如何影响要显示为对话框的活动。这个PreferencePanel是什么?

我怎样才能找出一个对象(视图/活动)可以通过一种风格改变什么样的属性?

回答

0

我有同样的问题。我没有找到任何方法来覆盖xml的宽度和高度样式。 我发现的唯一方法是改变对在onStart的窗口,这里是代码:

@Override 
public void onStart() { 
    super.onStart(); 
    // In order to not be too narrow, set the window size based on the screen resolution: 
    final int new_window_width = 505; 
    final int new_window_height = 502; 
    WindowManager.LayoutParams layout = getDialog().getWindow().getAttributes(); 
    layout.width = new_window_width; 
    layout.height = new_window_height; 
    getDialog().getWindow().setAttributes(layout); 
} 

希望它能帮助!

相关问题