как центрировать расположение к вертикали в андроиде через код Java?

друзья,

я хочу установить android:layout_centerVertical = "истинное" свойство расположения через код Java изображения.

может любой вести меня, как достигнуть этого. вот мой код.

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

params.height = (int)totalHeight;

img.setLayoutParams(params);

я попытался использовать setScaleType (ScaleType. FIT_CENTER), но быть бесполезное.

любая справка ценилась бы.

14
задан UMAR 16 June 2010 в 13:54
поделиться

1 ответ

Исправьте меня, если я ошибаюсь, но похоже, что вы пытаетесь установить выравнивание ( или позиционная ориентация) изображения внутри макета? Для этого вам нужно установить свойство gravity для макета, содержащего выравниваемый вид.

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

    RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.FILL_PARENT, 
            RelativeLayout.LayoutParams.WRAP_CONTENT);

    ImageView imageView = new ImageView(this);
    imageView.setLayoutParams(params);
    imageView.setImageBitmap(bitmap);

    layout.setGravity(Gravity.CENTER_VERTICAL | Gravity.TOP);
    layout.addView(imageView);

В этом примере я программно добавляю изображение в RelativeLayout в моем ресурсе макета, добавляю ImageView и выравниваю его так, чтобы оно было размещено вверху, по вертикали в центре.

24
ответ дан 1 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: