android屏幕宽高比例,Android布局-如何在整个屏幕上拉伸三个图像以保持宽高比?...
得到它的工作! 但是正如我上面所说,您需要创建自己的类。 但是它很小。 我是在本文的Bob Lee的答案的帮助下创建的:Android:如何在保持宽高比的同时将图像拉伸到屏幕宽度?package com.yourpackage.widgets;import android.content.Context;import android.util.AttributeSet;import android
得到它的工作! 但是正如我上面所说,您需要创建自己的类。 但是它很小。 我是在本文的Bob Lee的答案的帮助下创建的:Android:如何在保持宽高比的同时将图像拉伸到屏幕宽度?
package com.yourpackage.widgets;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
public class AspectRatioImageView extends ImageView {
public AspectRatioImageView(Context context) {
super(context);
}
public AspectRatioImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AspectRatioImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = width * getDrawable().getIntrinsicHeight() / getDrawable().getIntrinsicWidth();
setMeasuredDimension(width, height);
}
}
现在在XML中使用它:
android:id="@+id/image"
android:src="@drawable/yourdrawable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true" />
玩得开心!
====================================
通过使用android:adjustViewBounds =“ true”,找到了另一种仅在XML中执行相同操作的方法。 这里是一个例子:
android:layout_width="match_parent"
android:layout_height="wrap_content" >
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/image1" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/image2" />
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/image2" />
更多推荐
所有评论(0)