View Full Version : Zoom روی ImageView
Sepehr M
دوشنبه 12 آبان 1393, 21:18 عصر
چه راهی رو برای Zoom رو ImageView پیشنهاد میکنید؟؟؟
بطوریکه وقتی کاربر 2بار روی عکس کلیک کنه عکس Zoom شه؟؟؟ساده ترین راه حل؟؟؟
این Gesture ImageView چطوریه کار کردن باهاش؟؟؟
StoPpeR
دوشنبه 12 آبان 1393, 22:04 عصر
می تونید از این کتابخونه استاده کنید که تمامی حالت های زوم (زوم با دو بار کلیک، زوم با کشیدن دو انگشت به جهات مختلف و...) رو داره:
https://github.com/MikeOrtiz/TouchImageView
در ضمن می تونید از اون داخل ViewPager هم استفاده کنید که دقیقا چیزی مثل گالری خود موبایل رو در اختیارتون میذاره
Sepehr M
دوشنبه 12 آبان 1393, 22:28 عصر
ممنون
ولی کدهارو استفاده میکنم ولی همش Error دارم...من کدهام خیلی ساده ست...الان این یکی از صفحات برنامم هستش...میشه بگید دقیقا دستور زوم رو کجای ImageViewe هام باید قرار برم؟
package my.book.namespace;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class two extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.two);
ImageView myimg = (ImageView) findViewById(R.id.next);
myimg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(two.this, three.class));
finish();
}
});
ImageView myimg1 = (ImageView) findViewById(R.id.back);
myimg1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(two.this, one.class));
finish();
}
});
ImageView myimg2 = (ImageView) findViewById(R.id.menu);
myimg2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(two.this, TheLastOfUsActivity.class));
android.os.Process.killProcess(android.os.Process. myPid());
System.exit(0);
}
});
// TODO Auto-generated method stub
}
}
Sepehr M
سه شنبه 13 آبان 1393, 13:28 عصر
کسی نبود؟؟؟
GH_Seven
سه شنبه 13 آبان 1393, 17:27 عصر
این یک نمونه کد برای کار با ZoomControls
img = (ImageView) findViewById(R.id.imageView1);
zoom = (ZoomControls) findViewById(R.id.zoomControls1);
zoom.setOnZoomInClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int w = img.getWidth();
int h = img.getHeight();
RelativeLayout.LayoutParams params =
new RelativeLayout.LayoutParams(w + 10, h +10);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
img.setLayoutParams(params);
}
});
zoom.setOnZoomOutClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int w = img.getWidth();
int h = img.getHeight();
RelativeLayout.LayoutParams params =
new RelativeLayout.LayoutParams(w - 10, h -10);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
img.setLayoutParams(params);
}
});
منبع کد : http://sampleprogramz.com
GH_Seven
سه شنبه 13 آبان 1393, 17:41 عصر
کدهای قبلی خوب نیومد،این عکس فکر کنم بهتره ...
این ساده ترین روش برای زوم کردن هست
125299
Sepehr M
سه شنبه 13 آبان 1393, 18:20 عصر
خب تو قسمت import باید چیو import کنم؟
کد کاملش رو میذاری همینجا؟
مرسی
Sepehr M
سه شنبه 13 آبان 1393, 20:01 عصر
الان اون قسمت کد همچین اروری میده zoomcontrols1 cannot be resolved or is not a field
final ImageView img = (ImageView) findViewById(R.id.aa);
ZoomControls zoom = (ZoomControls) findViewById(R.id.zoomcontrols1);
فیلد هم واسش میسازم باز دردی دوا نمیشه
GH_Seven
سه شنبه 13 آبان 1393, 23:47 عصر
الان اون قسمت کد همچین اروری میده zoomcontrols1 cannot be resolved or is not a field
final ImageView img = (ImageView) findViewById(R.id.aa);
ZoomControls zoom = (ZoomControls) findViewById(R.id.zoomcontrols1);
فیلد هم واسش میسازم باز دردی دوا نمیشه
من خودم این کدو اجرا کردم و هیچ مشکلی نداشت،فیلد هم نمیخواد ...
الان دقیقا کدوم قسمت ارور داره؟
Sepehr M
چهارشنبه 14 آبان 1393, 00:00 صبح
zoomcontrols1 رو نمیشناسه
GH_Seven
چهارشنبه 14 آبان 1393, 00:13 صبح
zoomcontrols1 رو نمیشناسه
این ارور بخاطره این هست که توی قسمت XML شما ویجت Zoomcontrols رو اضافه نکردید و این zoomcontrols1 آیدی همون ویجت هست
باید اینو اضافه کنی به xml
125309
Sepehr M
چهارشنبه 14 آبان 1393, 00:22 صبح
ممنون لینک رو میفرستی همینجا؟
Sepehr M
چهارشنبه 14 آبان 1393, 00:24 صبح
اوه اوه
این زوم استاتیک نیست؟؟؟؟؟
اینفینیت هم هستش...این خیلی افتضاح کار میکنه:لبخند:...قبلا از استفاده کردم....من نمیخوام اینفینیت باشه:گریه:
GH_Seven
چهارشنبه 14 آبان 1393, 00:28 صبح
ممنون لینک رو میفرستی همینجا؟
برو توی قسمت ویجتها شکل گرافیکیشو انتخاب کن نیاز به نوشتن هم نیست ...
125311
Sepehr M
چهارشنبه 14 آبان 1393, 00:45 صبح
بازم ممنون...اما الانgetscale x , y ها واسم Error میدن...ایم عکس و اون خط آخر البته که اصلا نفهمیدم خطاش واسه چیه؟؟؟ :|
125312
Sepehr M
چهارشنبه 14 آبان 1393, 01:19 صبح
اوکی errorها رو درستشون کردم....به خاطر API بود...ولی همین Infinite بودن زوم رو چیکار کنم؟در ضمن قابلیت Drag ندارد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.