web-dev-qa-db-ja.com

Androidでビューをスケーリングできますか?

Androidフレームワークによってレンダリングされたビューを取得して、他のサイズに再スケーリングできますか?

20
bjdodson

ビューをスケーリングするには、API 11以降が必要です。方法は次のとおりです。

float scalingFactor = 0.5f; // scale down to half the size
view.setScaleX(scalingFactor);
view.setScaleY(scalingFactor);
43
Gadzair

あなたのXMLで

Android:scaleX="0.5"
Android:scaleY="0.5"
5
Taiti

スケールの場合、ビューのwidthheightresizeして、areaおよびpositionanother 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

デモ

1
Phan Van Linh