tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            لودینگ هنگام‌ لود شدن وب ویو + حذف اسکرول افقی اضافی از WebView

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • لودینگ هنگام‌ لود شدن وب ویو + حذف اسکرول افقی اضافی از WebView
            عملیات Real Time CRUD با استفاده از فایربیس گوگل در لاراول
            عملیات Real Time CRUD با استفاده از فایربیس گوگل در لاراول
            21 اردیبهشت 1398
            استفاده از کتابخانه SweetAlert2 با AJAX در لاراول
            کتابخانه SweetAlert2 استفاده از SweetAlert2 با AJAX در لاراول
            28 اردیبهشت 1398
            منتشر شده توسط مهندس داودی
            لودینگ هنگام‌ لود شدن وب ویو + حذف اسکرول افقی اضافی از WebView

            لودینگ هنگام‌ لود شدن وب ویو + حذف اسکرول افقی اضافی از WebView

            لودینگ هنگام‌ لود شدن صفحات وب در وب ویو (WebView) ، حذف اسکرول افقی از وب ویو (WebView) ، یک ویو بسیار پرکاربرد در اندروید وب ویو WebView هستش که مشخصا برای نمایش صفحات وب در قالب اپلیکیشن استفاده میشه.
            کار باهاش بشدت سادس فقط کافیه یه WebView به لایه اضافه کنید

            همچنین بخوانید: ساخت پترن و اعمال opacity در اندروید با کاتلین

            لودینگ در زمان لود شدن WebView و حذف اسکرول افقی اضافی از وب ویو (WebView)

            کار با وب ویو بشدت سادس فقط کافیه یه WebView به لایه اضافه کنید

            <?xml version="1.0" encoding="utf-8"?>
            <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scrollbars="vertical"
                tools:context=".MainActivity">
            
                <WebView
                    android:id="@+id/webivew"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
            </android.support.constraint.ConstraintLayout>
            

            و آدرس url که میخواید رو با دستور زیر بهش بدید

                    webView.loadUrl("https://tejariapp.com/");
            

            حالا میخوایم چندتا دستور کاربردی برای وب ویو بهتون بگیم پس با ما همراه باشید 🙂
            با این دستورات میتونیم جاوا اسکریپت رو برای وب ویو فعال کنیم

              webView.getSettings().setJavaScriptEnabled(true);
                    webView.setWebViewClient(new AppWebViewClients());
                    webView.addJavascriptInterface(new WebAppInterface(), "Android");
            

            لودینگ در زمان لود شدن WebView

            با این دستور میتونیم اسکرول های افقی اضافی رو برا وب ویو حذف کنیم

            webView.setHorizontalScrollBarEnabled(false);
            

            لودینگ هنگام‌ لود شدن وب ویو

            با این دستور هم میتونیم برای وب ویو لودینگ بذاریم برای زمان هایی که صفحه هنوز لود نشده و زمانی که کامل لود شد لودینگ دستی ما از بین بره

            webView.setOnTouchListener(new View.OnTouchListener() {
                        float m_downX;
            
                        public boolean onTouch(View v, MotionEvent event) {
            
                            if (event.getPointerCount() > 1) {
                                //Multi touch detected
                                return true;
                            }
            
                            switch (event.getAction()) {
                                case MotionEvent.ACTION_DOWN: {
                                    // save the x
                                    m_downX = event.getX();
                                    break;
                                }
                                case MotionEvent.ACTION_MOVE:
                                case MotionEvent.ACTION_CANCEL:
                                case MotionEvent.ACTION_UP: {
                                    // set x so that it doesn't move
                                    event.setLocation(m_downX, event.getY());
                                    break;
                                }
            
                            }
                            return false;
                        }
                    });
            

            در نهایت اکتیویتی بدین صورت خواهد بود

            public class MainActivity extends AppCompatActivity {
            
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
            
                    createNotif();
            
                    WebView webView = findViewById(R.id.webivew);
            
                    webView.getSettings().setJavaScriptEnabled(true);
                    webView.setWebViewClient(new AppWebViewClients());
                    webView.addJavascriptInterface(new WebAppInterface(), "Android");
                    webView.loadUrl("https://tejariapp.com/");
            
                    webView.setHorizontalScrollBarEnabled(false);
                    webView.setOnTouchListener(new View.OnTouchListener() {
                        float m_downX;
            
                        public boolean onTouch(View v, MotionEvent event) {
            
                            if (event.getPointerCount() > 1) {
                                //Multi touch detected
                                return true;
                            }
            
                            switch (event.getAction()) {
                                case MotionEvent.ACTION_DOWN: {
                                    // save the x
                                    m_downX = event.getX();
                                    break;
                                }
                                case MotionEvent.ACTION_MOVE:
                                case MotionEvent.ACTION_CANCEL:
                                case MotionEvent.ACTION_UP: {
                                    // set x so that it doesn't move
                                    event.setLocation(m_downX, event.getY());
                                    break;
                                }
            
                            }
                            return false;
                        }
                    });
                }
            
                public class AppWebViewClients extends WebViewClient {
            
                    private ProgressDialog progressDialog;
            
                    AppWebViewClients() {
            
                    }
            
                    @Override
                    public void onPageStarted(WebView view, String url, Bitmap favicon) {
                        super.onPageStarted(view, url, favicon);
            
                        if (progressDialog == null) {
                            // in standard case YourActivity.this
                            progressDialog = new ProgressDialog(MainActivity.this);
                            progressDialog.setMessage("Loading...");
                            progressDialog.show();
                        }
                    }
            
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        if (progressDialog == null) {
                            // in standard case YourActivity.this
                            progressDialog = new ProgressDialog(MainActivity.this);
                            progressDialog.setMessage("Loading...");
                            progressDialog.show();
                        }
                        view.loadUrl(url);
                        return true;
                    }
            
                    @Override
                    public void onPageFinished(WebView view, String url) {
            
                        super.onPageFinished(view, url);
                        try {
            
                            if (progressDialog.isShowing()) {
            
                                progressDialog.dismiss();
            
                                progressDialog = null;
            
                            }
            
                        } catch (Exception exception) {
                            exception.printStackTrace();
                        }
                    }
                }
            
                public class WebAppInterface {
            
                    WebAppInterface() {
            
                    }
            
                    @JavascriptInterface
                    public void showToast(String isSuccess, String amount) {
            
                        finish();
                    }
                }
            
                private void createNotif() {
                    NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
            
                    Uri sound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + getApplicationContext().getPackageName() + "/" + R.raw.noti_ring);
            
                    NotificationCompat.Builder nb = new NotificationCompat.Builder(this, getString(R.string.app_name));
            
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                        NotificationChannel mChannel = new NotificationChannel(getString(R.string.app_name) + "1-2-3-4-5",
                                getString(R.string.app_name),
                                NotificationManager.IMPORTANCE_HIGH);
            
                        AudioAttributes attributes = new AudioAttributes.Builder()
                                .setUsage(AudioAttributes.USAGE_NOTIFICATION)
                                .build();
            
                        // Configure the notification channel.
            //            mChannel.setDescription("this is message");
                        mChannel.enableLights(true);
                        mChannel.enableVibration(true);
                        mChannel.setSound(sound, attributes); // This is IMPORTANT
            
                        mNotificationManager.createNotificationChannel(mChannel);
            
                        nb.setChannelId(getString(R.string.app_name) + "1-2-3-4-5");
                    } else {
                        nb.setSound(sound);
                    }
            
                    nb.setSmallIcon(R.drawable.ic_launcher_background);
                    nb.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background));
                    nb.setContentTitle("title");
                    nb.setContentText("message");
                    nb.setStyle(new NotificationCompat.BigTextStyle().bigText("message"));
                    nb.setAutoCancel(true);
                    nb.setVibrate(new long[]{1000, 1000, 1000, 1000, 1000, 1000, 1000});
                    nb.setLights(Color.GREEN, 3000, 3000);
                    //nb.setDefaults(Notification.DEFAULT_ALL);
                    nb.setPriority(Notification.PRIORITY_HIGH);
            
                    try {
                        mNotificationManager.notify(0, nb.build());
                    } catch (Exception e) {
                    }
                }
            }
            
             لودینگ هنگام‌ لود شدن صفحات وب در وب ویو + حذف اسکرول افقی اضافی از WebView
            لودینگ در زمان لود شدن صفحات وب در وب ویو

            امیدوارم این آموزش برای شما مفید بوده باشه…

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

            • ساخت اپلیکیشن فروشگاهی
            • ساخت اپلیکشن ابزاری و خدماتی
            • ساخت اپلیکیشن آموزشی
            • و هزاران موضوع دیگر

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج