如何解决如何像 ImageView 或像图像一样捏缩放任何视图Android 编程?
我创建了一个视频播放器并在 Google Play 商店上发布。该应用程序应该像通常缩放图像一样缩放或放大视频。我找到了缩放 ImageView 而不是像 Textview 这样的其他视图的方法,查看其他视图,尤其是 SurfaceView。我已经实现了缩放效果,就像您如何像图像一样缩放和滚动一样,但该方法是一种非常古老且草率的方法。这是我使用 Scrollview 缩放和滚动视频的代码示例:
<com.appzoom.zoomvideopaid.other.OuterHorizontalScrollView
android:id="@+id/horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal">
<com.appzoom.zoomvideopaid.other.TouchableScrollView
android:id="@+id/vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusableInTouchMode="true">
<com.appzoom.zoomvideopaid.other.TouchableSurfaceView
android:id="@+id/surfaceView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</com.appzoom.zoomvideopaid.other.TouchableScrollView>
</com.appzoom.zoomvideopaid.other.OuterHorizontalScrollView>
JAVA 代码:
zoomSlider.setMax(Math.round(screenWidth * 5));
zoomSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar,int i,boolean b) {
if(zoomPlayer.getVideoWidth()>0){
holder.setFixedSize(Math.round((i + screenWidth)),Math.round((i + screenWidth) *
zoomPlayer.getVideoHeight() / zoomPlayer.getVideoWidth()));
}
// holder.setFixedSize(Math.round((i+screenWidth)),Math.round((i+screenWidth) * height / width));
// mPreview.setLayoutParams(new FrameLayout.LayoutParams(Math.round(i+(screenWidth)*width/height),Math.round((i+screenWidth) * height / width)));
//
///adjusted height = <user-chosen width> * original height / original width.
}
缩放成功,但我想要一种更合适的方式通过代码而不是使用 ScrollViews 来做到这一点 在以下位置查看实际应用:https://play.google.com/store/apps/details?id=com.appzoom.zoomplayerclassic&showAllReviews=true
看看我最先进的竞争对手:https://play.google.com/store/apps/details?id=com.mn2square.slowmotionplayer
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。