[英]Programmatically set layout_gravity for a FrameLayout's Child?
[英]Android - Set Layout_Gravity programmatically for LinearLayout
我有以下问题:我实现了一个HorizontalScrollView
,其中包含一个LinearLayout
和一个ImageView
。 在这种情况下,图像大约是屏幕宽度的50%。 所以我想把它集中在一起。 不幸的是,我发现它的唯一方法就是在LinearLayout
上使用layout_gravity="center"
。
这是我的xml:
<HorizontalScrollView
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myImg"
android:layout_width="wrap_content"
android:adjustViewBounds="true"
android:layout_height="150dp"/>
</LinearLayout>
</HorizontalScrollView>
但我需要以编程方式设置layout_gravity
。 有没有人知道如何实现这一目标或知道不同的方式? 我通过Google发现的所有内容都不适用于我这样的帖子 。
谢谢!
做这样的事情:
LayoutParams lp = new LayoutParams();
lp.gravity= Gravity.CENTER_HORIZONTAL;
myImg.setLayoutParams(lp);
更新:另一种方法:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.weight = 1.0f;
params.gravity = Gravity.CENTER;
imageView.setLayoutParams(params);
将ImageView
放在FrameLayout
如下所示:
删除了额外的代码
ImageView image = new ImageView(mContext);
image.setLayoutParams(new FrameLayout.LayoutParams(width, height, gravity));
更多信息在这里 。
我想,这个会对你有用
FrameLayout.LayoutParams layoutParams = new ScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams1.gravity(YourGravity);
yourImage.setLayoutParams(layoutParams);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.