私は次の問題を抱えています: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);
PDATE:これを行う別の方法:
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);