碰到一个怪现象
我想动态调整layout的高度
在xml里面写了个初始值 android:layout_height="66dp"
然后运行的时候想让它变化
却发现如果设置
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 66);
这样的,倒是可以调整高度啦,但是却比原来的缩短不少
如果上面的改成0x66就跟原来的高度差不多
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 0x66);但0x66dp却不能写在xml里,类似这样 android:layout_height="0x66dp"<----报错到底是什么原因?
我想动态调整layout的高度
在xml里面写了个初始值 android:layout_height="66dp"
然后运行的时候想让它变化
却发现如果设置
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 66);
这样的,倒是可以调整高度啦,但是却比原来的缩短不少
如果上面的改成0x66就跟原来的高度差不多
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 0x66);但0x66dp却不能写在xml里,类似这样 android:layout_height="0x66dp"<----报错到底是什么原因?
解决方案 »
- android的重定向问题
- android 通过一个程序启动另外一个程序出现的问题
- widget添加至桌面代码怎么实现
- 如何设置PreferenceActivity/preferenceScreen的背景色
- EditText如何实现类似QQ聊天文本框里面的动态表情显示?
- fragment transaction.replace掉之后,原来的fragment为啥还能获取焦点
- 有没有类似爱奇艺的android手机客户端,开源代码学习学习
- 【转载】浅谈短、信彩信的拦截
- 关于BroadCast的疑惑 崩溃中
- 请问 Unhandled Exception: java.io.IOException 这种问题一般是怎么造成的?如何解决?
- android的登陆界面求教
- 刚学android,屏幕底部谈菜单怎么做
xml设置和代码设置的差异在哪里?
而XML中写的是单位密度
这两个需要转换
public static int Dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
public static int Px2Dp(Context context, float px) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (px / scale + 0.5f);
}