我有一个带有对话框主题的活动(Theme.Holo.DialogWhenLarge
)。它看起来太窄了,我希望它能填满更大比例的屏幕。我试图通过覆盖windowMinWidthMinor和windowMinWidthMajor属性来实现此目的。
我的活动使用的主题看起来像这样......
<style name="MyTheme" parent="@android:style/Theme.Holo.DialogWhenLarge">
<item name="android:windowMinWidthMajor">90%</item>
<item name="android:windowMinWidthMinor">90%</item>
</style>
但是,似乎windowMinWidthMajor
和windowMinWidthMinor
没有效果。谁能解释我做错了什么?
答案 0 :(得分:3)
@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);
}
答案 1 :(得分:-1)
设置机器人的百分比是不可能的,但是有一种方法。我所做的是获取屏幕宽度并乘以我想要的视图或项目的百分比(例如:如果我想要填充宽度的40%,如果是屏幕宽度* 0.4)