Dar*_*hak 35 android zooming android-activity
Problem:
可以轻松缩放图像和Web视图.但我想缩放整个活动.我怎样才能做到这一点?
Here, I provide wire-frame:
从这里你可以理解,我想做什么.
Request
如果您有任何解决方案,请分享.
谢谢.
Bar*_*ney 16
您可以通过缩放根活动视图来模拟放大和缩小.这是一些入门代码:
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;
}
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,活动将缩放单击而不是双击时缩放.此外,您可能希望为缩放设置动画.查看Property Animation了解如何完成此操作的详细信息.
[编辑]对于较旧的API级别,您可以使用ScaleAnimation.您还可以设置动画的持续时间.但是,一个主要的警告是它只修改视图的外观,但实际视图不会改变.
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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10078 次 |
最近记录: |