Как центрировать изображение на экране с помощью FrameLayout? (с кодом Java) - PullRequest
4 голосов
/ 07 октября 2011

Мне нужно центрировать изображение на экране, но программно, без использования XML-макетов.

Я на самом деле использую FrameLayout, но я не знаю, как центрировать его на FrameLayout.

Это код, который у меня есть до сих пор:

        FrameLayout fl = new FrameLayout(this.getApplicationContext());
    splash = new ImageView(getApplicationContext());
    splash.setImageResource(R.drawable.logo);
    splash.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    fl.addView(splash);
    fl.setBackgroundColor(Color.BLACK);
    setContentView(fl);

Ответы [ 3 ]

5 голосов
/ 07 октября 2011

Я думаю, что-то вроде этого сделает для вас:

    LayoutParams centerParams = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);

    centerParams.gravity =  Gravity.CENTER;
    fl.setLayoutParams(centerParams);

проверить эту страницу для получения дополнительной информации

5 голосов
/ 07 октября 2011

Я думаю, что это должно сделать это:

fl.setForegroundGravity(Gravity.CENTER);
2 голосов
/ 25 июля 2013

Imageview не имеет гравитации.Это имеет layout_gravity.

...