首页 > 解决方案 > 父视图缩放 OnClickListener

问题描述

解决方案

Original: Window Service > Parent Layout > Views
Fixed: Window Service > Parent Layout > Parent Layout 2 > Views

在添加到窗口服务之前,您不能将不是子布局的父布局用于另一个布局。如果这样做,只有图形会缩放。


问题

我有一个 RelativeLayout,它包含一些视图,例如 TextView、SeekBar 和 Button。使用setScaleX/Y,我可以成功地在视觉上缩放视图。我现在遇到的一个问题是,尽管图形已缩放,但 onClickListeners 触摸区域并未与图形一起缩放。我需要触摸原始位置才能触发任何这些事件。我希望触摸区域与图形一起缩放,而不是单独缩放孩子。

当前缩放代码:

size.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
   @Override
   public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
      /** Max Progress is 100 **/
      float scale = 1.0f;
      scale = scale + 0.01f * progress;

      /** mLayout is Parent Layout **/
      mLayout.setScaleX(scale);
      mLayout.setScaleY(scale);
      mLayout.invalidate();
  }

  @Override
  public void onStartTrackingTouch(SeekBar seekBar) {
  }

  @Override
  public void onStopTrackingTouch(SeekBar seekBar) {
  }
});

标签: graphicstouchlistenerparentscaling

解决方案


解决方案

Original: Window Service > Parent Layout > Views
Fixed: Window Service > Parent Layout > Parent Layout 2 > Views

在添加到窗口服务之前,您不能将不是子布局的父布局用于另一个布局。如果这样做,只有图形会缩放。


推荐阅读