我在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();
}
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中获取TextView的宽度
- 请教大家关于android模拟器的问题。。。
- 什么情况下赋值语句会不执行??
- NDK 中native static 函数的调用
- java 读取 dat文件 乱码
- 为什么listview为什么在item较少的时候不能滚动
- 如何解决于Eclipse编译adb shell monkey source code所产生的错误?
- 关于mediaplayer播放的疑难问题,急求
- java.lang.IllegalArgumentException: pointerIndex out of range
- 寻找一android开发人员完成一个图表APP。
- 如果把切换到后台的程序,切换到前台?
- Jsoup解析
,不够完美?LZ想要什么效果哦
2. 对于不同屏幕的支持,也可以将数值写在values-hdpi, values-mdpi, values-ldpi中的dimens.xml的文件中。
这个最让我觉得不方便的就是那些不规则的屏幕,因为有时候OPhone的那个标题框就比Android的要高,此类的问题等很麻烦
一个在onsizechanged里面改
一个在ondraw里面调用getwidth
但都是在view里面改
不懂为啥在activity里面改
如果你有很多view是不是可以考虑用一个compound view把所有view加在一起 然后在它的ondraw里面调用?
DisplayMetrics dm=new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
int i1=dm.widthPixels;
int i2=dm.heightPixels;如果你想 获取某个layout的大小
用layoutinflater 来动态载入