android - 如何为对话框主题的 Activity 设置百分比宽度

标签 android android-layout

我有一个带有对话框主题的 Activity (Theme.Holo.DialogWhenLarge)。它看起来太窄了,我希望它能占据更大比例的屏幕。我试图通过覆盖 windowMinWidthMinor 来实现这一点和 windowMinWidthMajor属性。

我的 Activity 使用的主题是这样的......

<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);
    }

关于android - 如何为对话框主题的 Activity 设置百分比宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353786/

相关文章:

android - 输入布局切换提示文本颜色更改

android - 从 onDraw() 调用 invalidate() 会导致堆栈溢出吗?

java - 减少FFT的处理时间

java - +id 在RelativeLayout 中如何有效?

java - 如何更改显示的布局

android - 如何在 DatePickerDialog Android 中禁用今天日期之前的日期?

Android TabLayout 有两个选项卡和一个 recyclerview 在切换时滚动到顶部

java - WRITE_EXTERNAL_STORAGE 可能的目标文件夹

Android Studio 3.1.3,设计 View 总是空的

android - 如何清除 TableLayout 中的所有行?