java – Android – 以LinearLayout为编程方式设置Layout_Gravity

前端之家收集整理的这篇文章主要介绍了java – Android – 以LinearLayout为编程方式设置Layout_Gravity前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下问题:我实现了一个Horizo​​ntalScrollView,其中包含一个LinearLayout和一个 ImageView.在这种情况下,图像大约是屏幕宽度的50%.所以我想让它居中.不幸的是,我发现中心的唯一方法是在LinearLayout上使用layout_gravity =“center”.

这是我的xml:

  1. <HorizontalScrollView
  2. android:layout_gravity="center"
  3. android:layout_width="fill_parent"
  4. android:layout_height="wrap_content">
  5.  
  6. <LinearLayout
  7. android:orientation="horizontal"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content">
  10.  
  11. <ImageView
  12. android:src="@drawable/myImg"
  13. android:layout_width="wrap_content"
  14. android:adjustViewBounds="true"
  15. android:layout_height="150dp"/>
  16.  
  17. </LinearLayout>
  18.  
  19. </HorizontalScrollView>

但是我需要以编程方式设置layout_gravity.有人有一个想法,我怎么能达到这个或者知道一个不同的方式?我通过Google发现的所有事情都不像this post那样为我工作.

谢谢!

解决方法

做这样的事情
  1. LayoutParams lp = new LayoutParams();
  2. lp.gravity= Gravity.CENTER_HORIZONTAL;
  3. myImg.setLayoutParams(lp);

更新:
另一种做法:

  1. LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
  2. LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
  3. params.weight = 1.0f;
  4. params.gravity = Gravity.CENTER;
  5.  
  6. imageView.setLayoutParams(params);

猜你在找的Android相关文章