我有一个对话主题的活动(Theme.Holo.DialogWhenLarge)。它看起来太窄了,我希望它能占屏幕的更大比例。我试图通过覆盖windowMinWidthMinorwindowMinWidthMajor属性来实现这一点。
我的活动使用的主题如下…

<style name="MyTheme" parent="@android:style/Theme.Holo.DialogWhenLarge">
    <item name="android:windowMinWidthMajor">90%</item>
    <item name="android:windowMinWidthMinor">90%</item>
</style>

然而,似乎windowMinWidthMajorwindowMinWidthMinor没有效果。有人能解释我做错了什么吗?

最佳答案

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Some code here
        setWindowHeight(90);
    }
    /**
     * Set percentage width height
     * @param percent percent from current size. From 0 to 100.
     */
    private void setWindowHeight(int percent){
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int screenHeight = metrics.heightPixels;
        WindowManager.LayoutParams params = getWindow().getAttributes();
        params.height = (int)(screenHeight*percent/100);
        this.getWindow().setAttributes(params);
    }

08-24 19:34