Android-以编程方式为LinearLayout设置Layout_Gravity
问题内容:
我遇到以下问题:我实现了一个HorizontalScrollView
在一个案例中包含LinearLayout
和的ImageView
。在这种情况下,图像约为屏幕宽度的50%。所以我想居中。不幸的是,我发现居中的唯一方式是,使用layout_gravity="center"
上LinearLayout
。
这是我的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);