使可布局的Android布局和嵌套布局

前端之家收集整理的这篇文章主要介绍了使可布局的Android布局和嵌套布局前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用复杂布局的应用程序.我最近意识到我需要使部分或全部的布局可以缩放.

我的一个主要的xml文件具有线性布局,其中嵌有多个布局以正确定位视图.有一个简单的方法来使这种线性布局和一切都在可缩放的范围内?还是使整个布局文件变得更容易?我有什么选择?

解决方法

首先用具体的观点来扩展该类
  1. public class MyImageView extends ImageView{

覆盖以下方法.

  1. @Override
  2. protected void onDraw(Canvas canvas) {
  3. super.onDraw(canvas);
  4. canvas.save();
  5.  
  6. canvas.scale(mScaleFactor,mScaleFactor,midPoint.x,midPoint.y);
  7. if(appInitialized) {
  8.  
  9. hsSide.draw(canvas);
  10. scaleA.draw(canvas);
  11. scaleB.draw(canvas);
  12.  
  13. }
  14.  
  15. canvas.restore();
  16.  
  17.  
  18. }

创建一个能够检测缩放对象大小的手势检测器,您可以限制以避免重叠.

  1. private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
  2.  
  3. @Override
  4. public boolean onScale(ScaleGestureDetector detector) {
  5.  
  6. mScaleFactor *= detector.getScaleFactor();
  7. pivotX = detector.getFocusX();
  8. pivotY = detector.getFocusY();
  9. // Don't let the object get too small or too large.
  10. mScaleFactor = Math.max(0.8f,Math.min(mScaleFactor,2.0f));
  11.  
  12. invalidate();
  13. return true;
  14. }
  15. }

最后初始化对象

  1. ScaleGestureDetector mScaleDetector;
  2.  
  3.  
  4.  
  5. mScaleDetector = new ScaleGestureDetector(context,new ScaleListener());

猜你在找的Android相关文章