Можно ли масштабировать View в Android? - PullRequest
18 голосов
/ 01 октября 2011

Могу ли я взять представление, созданное платформой Android, и изменить его масштаб до другого размера?

Ответы [ 3 ]

43 голосов
/ 14 ноября 2013

Вам необходим API 11 или выше для масштабирования вида. Вот как:

float scalingFactor = 0.5f; // scale down to half the size
view.setScaleX(scalingFactor);
view.setScaleY(scalingFactor);
5 голосов
/ 07 декабря 2016

в вашем XML

android:scaleX="0.5"
android:scaleY="0.5"
0 голосов
/ 01 октября 2018

Для масштаба I изменяет размер width и height представления, чтобы оно влияло на область и положение another view.
Если вы не хотите, чтобы это влияло на область и позицию, используйте ответ @Gadzair и @Taiti

private void resize(View view, float scaleX, float scaleY) {
    ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
    layoutParams.width = (int) (view.getWidth() * scaleX);
    layoutParams.height = (int) (view.getHeight() * scaleY);
    view.setLayoutParams(layoutParams);
}

Пример использования

resize(view, 0.5f, 0.8f);

Результат
Example

Демо

...