问题:
缩放图像和 WebView 很容易。但我想放大整个 Activity 。我该怎么做?
这里,我提供线框:
从这里你可以理解,我想做什么。
请求
如果您对此有任何解决方案,请分享。
谢谢。
最佳答案
您可以通过缩放根 Activity View 来模拟放大和缩小。下面是一些入门代码:
View v = findViewById(android.R.id.content); // get reference to root activity view
v.setOnClickListener(new OnClickListener() {
float zoomFactor = 1.5f;
boolean zoomedOut = false;
@Override
public void onClick(View v) {
if(zoomedOut) {
// now zoom in
v.setScaleX(1);
v.setScaleY(1);
zoomedOut = false;
}
else {
v.setScaleX(zoomFactor);
v.setScaleY(zoomFactor);
zoomedOut = true;
}
}
});
请注意, Activity 将在单击时放大,而不是在双击时放大。此外,您可能想要为缩放设置动画。查找 Property Animation有关如何完成此操作的详细信息。
[编辑] 对于较旧的 API 级别,您可以使用 ScaleAnimation。您还可以设置动画的持续时间。然而,一个主要的警告是它只修改了 View 的外观,而实际的 View 并没有改变。
if(zoomedOut) { // zoom in
ScaleAnimation anim = new ScaleAnimation(1f, 1.5f, 1f, 1.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setDuration(500);
anim.setFillAfter(true);
v.startAnimation(anim);
zoomedOut = false;
}
else {
ScaleAnimation anim = new ScaleAnimation(1.5f, 1f, 1.5f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setDuration(500);
anim.setFillAfter(true);
v.startAnimation(anim);
zoomedOut = true;
关于android - 如何在多点触控上缩放整个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14806618/