[英]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.