我成功创建了一个ViewPager,其中包含不同比例的项目(currentItem的比例为1.0f,其他比例为0.85f)。我使用这个自定义布局:
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
public class ScaledRelativeLayout extends RelativeLayout {
private float scale = MainActivity.BIG_SCALE;
public ScaledRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ScaledRelativeLayout(Context context) {
super(context);
}
public void setScaleBoth(float scale) {
this.scale = scale;
invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.scale(scale, scale, getWidth() / 2, getHeight()/2);
}
}
它在我的Nexus 7(2012)上工作,但不在我的智能手机上,我无法理解为什么......我在想,也许我在onDraw方法中做了一个糟糕的比例经过一番搜索,我试试这个:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.scale(scale, scale, getWidth() / 2, getHeight()/2);
canvas.restore();
}
没有任何效果,任何想法?
答案 0 :(得分:0)
我通过扩展FrameLayout而不是RelativeLayout成功扩展我的布局,我不知道......如果有人可以解释为什么它使用FrameLayout但不能使用RelativeLayout ......