我遇到以下问题,当我使用s2时,图像占据了屏幕的所有背景(这就是我想要的),但是当我使用s3或s4或Galaxy音符时,它只会填充一个屏幕的四分之一......它只适合480 x 800 ...我已经在这个问题上待了好几个小时......
以下是设置参数的代码......
LinearLayout lLayout = new LinearLayout(mContext);
lLayout.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
lLayout.setBackgroundDrawable(((ImageView)mView).getDrawable());
mlayout.addView(lLayout);
如果我将布局参数编码为1080 x 1980,它在s4中效果很好......但这不是解决方案......
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
试试这个:
在mLayout.addView添加
之后mLayout.forceLayout();
如果不起作用:
mLayout.forceLayout();
mLayout.invalidate();
祝你好运答案 1 :(得分:0)
试试这个:
LinearLayout lLayout = new LinearLayout(mContext);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
lLayout.setBackgroundDrawable(((ImageView)mView).getDrawable());
mlayout.addView(lLayout, params);
同样mlayout
的根布局不应该有任何静态大小参数(或其他子项的条件权重)。