Android 毕加索将照片缩放到更大或适合 imageView(没有白色 space)
Android picasso scale photos to be bigger or fit the imageView (no white space)
我在 Picasso 库缩放方面遇到了严重问题。问题是我的布局由 3 个主视图和一些按钮组成。观点如下:
ImageView 50%
地图视图 20%
EditTextView 30%
并且我想将未知分辨率的图片加载到该 imageView 中而不留空白。我试图使用 .fit().centerInside 但这只是在两侧留下了空白。这是我的布局的样子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_below="@+id/photo1"
android:weightSum="10">
<ImageView
android:id="@+id/photo1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="5"
android:background="#75aea7ab" />
<com.google.android.gms.maps.MapView
android:id="@+id/map2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginBottom="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="15dp"
android:layout_weight="3"
android:background="#00000000"
android:gravity="top|left"
android:inputType="textMultiLine"
android:textColor="#ff000000"
android:textSize="15sp" />
</LinearLayout>
<ImageButton
android:id="@+id/post"
android:layout_width="@dimen/fab_button_diameter"
android:layout_height="@dimen/fab_button_diameter"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_gravity="end"
android:layout_marginBottom="300dp"
android:background="@drawable/fab_shape"
android:src="@drawable/forward"
android:text="Post!"
android:tint="@android:color/white" />
<Button
android:id="@+id/camera"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="75dp"
android:layout_marginTop="100dp"
android:background="@drawable/camera" />
<Button
android:id="@+id/gallery"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="75dp"
android:layout_marginTop="100dp"
android:background="@drawable/gallery" />
您是否尝试在加载图像后设置 ScaleType?
mPicasso.load("yourUrl")
.into(yourImageView, new Callback() {
@Override
public void onSuccess() {
yourImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//Or ScaleType.FIT_CENTER
}
@Override
public void onError() {
//nothing for now
}
});
我在 Picasso 库缩放方面遇到了严重问题。问题是我的布局由 3 个主视图和一些按钮组成。观点如下:
ImageView 50% 地图视图 20% EditTextView 30%
并且我想将未知分辨率的图片加载到该 imageView 中而不留空白。我试图使用 .fit().centerInside 但这只是在两侧留下了空白。这是我的布局的样子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_below="@+id/photo1"
android:weightSum="10">
<ImageView
android:id="@+id/photo1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="5"
android:background="#75aea7ab" />
<com.google.android.gms.maps.MapView
android:id="@+id/map2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginBottom="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="15dp"
android:layout_weight="3"
android:background="#00000000"
android:gravity="top|left"
android:inputType="textMultiLine"
android:textColor="#ff000000"
android:textSize="15sp" />
</LinearLayout>
<ImageButton
android:id="@+id/post"
android:layout_width="@dimen/fab_button_diameter"
android:layout_height="@dimen/fab_button_diameter"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_gravity="end"
android:layout_marginBottom="300dp"
android:background="@drawable/fab_shape"
android:src="@drawable/forward"
android:text="Post!"
android:tint="@android:color/white" />
<Button
android:id="@+id/camera"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="75dp"
android:layout_marginTop="100dp"
android:background="@drawable/camera" />
<Button
android:id="@+id/gallery"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="75dp"
android:layout_marginTop="100dp"
android:background="@drawable/gallery" />
您是否尝试在加载图像后设置 ScaleType?
mPicasso.load("yourUrl")
.into(yourImageView, new Callback() {
@Override
public void onSuccess() {
yourImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//Or ScaleType.FIT_CENTER
}
@Override
public void onError() {
//nothing for now
}
});