ImageViewのズームインにはズームイン、ズームアウトの2つのボタンがあります。 MotionEventを使ってズームイン/ズームアウトを正常に実装しましたが、ボタンを実装する方法はわかりません。 偽のMotionEventなどを作成する可能性がありますか?Android:ズームアウトImageView with Button(MotionEventなし)
1
A
答えて
1
は、ボタンのクリック 保護され、ボイドのonCreate(バンドルsavedInstanceState){ super.onCreate(savedInstanceState)にするためにTouchImageView
クラス
public void zoomIn() { //bind on zoomIn Button
oldScale = saveScale;
if(saveScale<=maxScale)
{
saveScale += .5;
matrix.setScale(saveScale, saveScale);
setImageMatrix(matrix);
invalidate();
// Center the image
// Center the image
if(bmHeight>bmWidth)
{
redundantXSpace = width - (saveScale * bmWidth);
redundantXSpace /= 2;
}
else
{
redundantYSpace = height - (saveScale * bmHeight) ;
redundantYSpace /= 2;
}
matrix.postTranslate(redundantXSpace , redundantYSpace);
setImageMatrix(matrix);
invalidate();
}
}
public void zoomOut() {
//Bind on zoom Out Button
if(saveScale>=minScale)
{
saveScale -= .5;
matrix.setScale(saveScale, saveScale);
setImageMatrix(matrix);
invalidate();
// Center the image
if(bmHeight>bmWidth)
{
redundantXSpace = width - (saveScale * bmWidth);
redundantXSpace /= 2;
}
else
{
redundantYSpace = height - (saveScale * bmHeight) ;
redundantYSpace /= 2;
}
matrix.postTranslate(redundantXSpace , redundantYSpace);
setImageMatrix(matrix);
invalidate();
}
}
にこれらの2メソッドを追加します。
setContentView(R.layout.LAYOUT_NAME);
Button zoonIn = (Button)findViewById(R.id.ZOOM_IN_BUTTON_ID);
Button zoonOut = (Button)findViewById(R.id.ZOOM_OUT_BUTTON_ID);
final TouchImageView touch = (TouchImageView)findViewById(R.id.YOUR_TOUCH_IMAGE_VIEW_)ID);
Bitmap bImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.DRAWABLE_ID);
touch.setImageBitmap(bImage);
touch.setMaxZoom(4f); //change the max level of zoom, default is 3f
zoonIn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
touch.zoomIn();
}
});
zoonOut.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
touch.zoomOut();
}
});
}
0
**dependencies {
compile 'com.github.chrisbanes:PhotoView:1.3.0'//image zooming
}**
インポートあなたのgradel詳細については
にこの:あなたが好きなXMLでアニメーションを作成することができますhttps://github.com/chrisbanes/PhotoView
1
:
/RES /アニメーション/ zoominを。 xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillEnabled="true"
android:fillAfter="true">
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.5"
android:fillEnabled="true"
android:fillAfter="true"
android:toYScale="1.5" >
</scale>
</set>
と別のような:
/res/anim/zoomout.xml:あなたのonCreateで
<?xml version="1.0" encoding="utf-8"?>
<set
android:fillEnabled="true"
android:fillAfter="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromXScale="1.5"
android:fromYScale="1.5"
android:pivotX="50%"
android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
android:toXScale="1"
android:toYScale="1" >
</scale>
</set>
:
Animation zoomin= AnimationUtils.loadAnimation(this, R.anim.zoomin);
Animation zoomout= AnimationUtils.loadAnimation(this, R.anim.zoomout);
そして、あなたのボタンonClickListenerに呼び出す:
myImageView.startAnimation(zoomin);
願っています。
関連する問題
- 1. Android helloWorld with button
- 2. Android ImageViewズームインとズームアウトを継続的に
- 3. Android Motionevent overlay
- 4. Android OnGestureListener onScroll MotionEvent
- 5. Arduino Button with LED
- 6. JBTable ColumnInfo with button
- 7. Android MotionEventポインタインデックスの混乱
- 8. ウィンドウフォーカスなしのイベントキャンセル:MotionEvent
- 9. ImageView with fullscreen zoom
- 10. 設定なしでAndroid Webviewのズームイン/ズームアウト
- 11. ImageView with squared pixels(補間なし)
- 12. onActivityResult with ImageView
- 13. ListView with ButtonとsetResult
- 14. :: - webkit-scrollbar-button with content
- 15. Paypal Button with£0 Option
- 16. Android、ImageView over ImageView
- 17. アンドロイドのonTouchEvent(MotionEventイベント)内のimageViewの取得方法
- 18. Android WebViewズームアウト制限
- 19. ImageView with Russian web URL
- 20. ImageView with bottomのカメラボタン
- 21. C#WPF:ItemsControl with Add-Content Button
- 22. 720kb SocialShare share with dinamic created button
- 23. android imageView
- 24. Android:カスタムImageView
- 25. AndroidのImageViewの - ImageViewのは着色しない方法
- 26. MotionEventアンドロイド
- 27. Button OnClickイベントAndroid
- 28. Android MenuItem Toggle Button
- 29. Android Button Inside PopupWindow
- 30. Android Button Border Color
優秀な回答!あなたは私の一日を救った。ありがとうございました。 – Sermilion
私の喜び.. .. @ scat95 –