如何既使用ScrollView,又让里面的控件全部垂直居中

2025-01-24 08:50:09
推荐回答(3个)
回答1:

scrollview里面的view如果写死宽高是可以设置居中的。。。但是这样好像失去了意义

回答2:

如果我没记错的话线性布局LinearLayout的这两个属性android:gravity="center_vertical" 和android:orientation="vertical" 你写的有点问题吧?

当作为父layout的LinearLayout的属性为android:orientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等;
当作为父layout的LinearLayout的属性为android:orientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical等;

方法一:
可以写两个布局判断横竖屏加载不同xml文件:
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){

Log.i("info", "landscape"); // 横屏

}
else if (this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {

Log.i("info", "portrait"); // 竖屏

}
可以参考下这个http://www.cnblogs.com/franksunny/archive/2012/03/21/2410484.html

方法二:

在onCreate()方法里面用纯代码写动态布局试试,虽然我没试过,不过感觉会比较麻烦。

回答3:

android:layout_width="match_parent"
android:layout_height="match_parent">

android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:layout_gravity="center"
android:orientation="vertical">

主要是这句:android:layout_gravity="center" 他对父布局起作用