我遇到了以下问题:我实现了一个 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
。有没有人知道我如何实现这一点或知道不同的方法?我通过谷歌找到的所有东西都不适合我,比如 this post .
谢谢!
最佳答案
做这样的事情:
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);
关于java - Android - 以编程方式为 LinearLayout 设置 Layout_Gravity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17965784/