android scale ImageView parent clip scaled imageView
android scale ImageView parent clip scaled imageView
我在 LinearLayout
内有 imageView,imageView 缩放了
setScaleX(e);
setScaleY(e);
e is float value
和 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="wrap_content"
android:clipChildren="false"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal">
<test.blabla.com.app.scledImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/scaled"
android:src="@drawable/emoji_1f3b0_64"
android:layout_gravity="center_vertical|center_horizontal" />
</LinearLayout>
现在我缩放 ImageView 之前的这张图片
缩放图像视图后
父LinearLayout不受scale影响,高宽不变
我尝试将其用于 linearLayout 而 scale
parent.invalidate();
我也试过了
parent. postInvalidate();
还是一样的问题
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<ImageView
android:id="@+id/iv_logo"
android:layout_width="180dp"
android:layout_height="180dp"
android:src="@drawable/app_logo"
android:contentDescription="@string/app_name"
/>
</LinearLayout>
在您的 activity 中,像这样设置 ImageView 的比例:
btnScaleImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
iv_logo.setScaleX(0.5f);
iv_logo.setScaleY(0.5f);
}
});
我通过缩放宽度和高度来解决它现在当它的子尺寸改变时父宽度和高度改变
parent.invalidate();
我在 LinearLayout
内有 imageView,imageView 缩放了
setScaleX(e);
setScaleY(e);
e is float value
和 xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="wrap_content"
android:clipChildren="false"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal">
<test.blabla.com.app.scledImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/scaled"
android:src="@drawable/emoji_1f3b0_64"
android:layout_gravity="center_vertical|center_horizontal" />
</LinearLayout>
现在我缩放 ImageView 之前的这张图片
缩放图像视图后
父LinearLayout不受scale影响,高宽不变 我尝试将其用于 linearLayout 而 scale
parent.invalidate();
我也试过了
parent. postInvalidate();
还是一样的问题
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<ImageView
android:id="@+id/iv_logo"
android:layout_width="180dp"
android:layout_height="180dp"
android:src="@drawable/app_logo"
android:contentDescription="@string/app_name"
/>
</LinearLayout>
在您的 activity 中,像这样设置 ImageView 的比例:
btnScaleImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
iv_logo.setScaleX(0.5f);
iv_logo.setScaleY(0.5f);
}
});
我通过缩放宽度和高度来解决它现在当它的子尺寸改变时父宽度和高度改变
parent.invalidate();