簡體   English   中英

Android - 以編程方式為LinearLayout設置Layout_Gravity

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM