当前位置: 代码迷 >> Android >> 调整控件View大小的有关问题
  详细解决方案

调整控件View大小的有关问题

热度:66   发布时间:2016-05-01 21:39:20.0
调整控件View大小的问题
我在Activity的布局文件中定义了多个View,然后想根据屏幕的大小动态调整各个View的大小。但是在Activity的onCreate方法里面调用View.getHeight()返回的值是0,我想这是因为View还没显示的原因,但是有什么方法可以知道View的大小呢,在Activity的什么地方调用?
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.manage_account);
int height = findViewById(R.id.ListView_Title).getHeight();
Log.v("Title Height", String.valueOf(height));
init();
}

------解决方案--------------------
onCreate时控件没有真的建立,你可以用个handler延时500ms再获取就好了。
------解决方案--------------------
我觉得就像LS说的做一个延时 , 然后获取就OK了啊 
,不够完美?LZ想要什么效果哦
------解决方案--------------------
1. 建议使用dp等自适应的单位来调整布局。以及wrap_content这些属性。
2. 对于不同屏幕的支持,也可以将数值写在values-hdpi, values-mdpi, values-ldpi中的dimens.xml的文件中。
------解决方案--------------------
我的解决办法是先算出来顶上Title部分的高度,然后再View画图时,按照百分比来分配每个View的高度,宽度,再进行绘图,这样来保证每个屏幕上的比例都是一样的

2. 对于不同屏幕的支持,也可以将数值写在values-hdpi, values-mdpi, values-ldpi中的dimens.xml的文件中。
这个最让我觉得不方便的就是那些不规则的屏幕,因为有时候OPhone的那个标题框就比Android的要高,此类的问题等很麻烦
  相关解决方案