شما این محصولات را انتخاب کرده اید

سبد خرید

اسلایدر
شناسه پست: 421
بازدید: 1109

اسلایدر

 

روش ساخت اسلایدر در اندروید استودیو:

 

داشتن یک image slider در نرم افزاری که شما طراحی می کنید می تواند علاوه بر زیبایی که به کارتان می بخشد به برجسته کردن چند نکته ی مهم در قالب image slider می پردازد

 

مثلا می توانید در برنامه هایی که حالت فروشگاهی دارند در این image slider به تخفیفات برتر و طلایی هفته بپردازید.

 

خب حالا چطور image slider حرفه ای در اندروید استودیو بسازیم ؟
اول کتابخانه های زیر را به گردل خودتون اضافه کنید .

compile 'com.android.support:support-v4:+'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.slider:library:1.1.5@aar'

پس از اضافه کردن کتابخانه ها وارد قسمت xml یا activitymain.xml شوید و سپس لایه اسلایدر را ایجاد کنید. سورس کد زیر را کپی و در قسمتی که دوست دارید پیست کنید .

com.daimajia.slider.library.SliderLayout
android:id="@+id/slider"
android:layout_width="wrap_content"
android:layout_height="220dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"

 

پس از اضافه کردن کتابخانه فوق حال نوبت به سطح دسترسی میرسه که شما باید این مورد رو در بخش manifest.xml اضافه کنید.

uses-permission android:name="android.permission.INTERNET" 
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"

 

دقت کنید اگر پرمیژن های بالا رو ست نکنید امکان لود کردن تصویر وجود نداره از آدرس اینترنتی و برنامه شما اجرا نمیشه دلیلشم به خاطر سطح دسترسی هست که کاربر باید این مورد قبول کنه تا دسترسی داده بشه به اپلیکیشن تا بتونه از آدرس اینترنتی تصاویر رو بارگذاری کنه.

حال در بخش java لطفا موارد زیر را اضافه کنید. دقت کنید در فیلم اموزشی که ارائه دادم فقط داخل اکتیویتی main اومدیم کد نویسی کرده ایم که کاملا اشتباه ولی در این آموزش که به صورت متنی هست به صورت شی گرایی این کارو انجام میدیم یعنی با کلاس ها و سازنده ها این کارو پیش می گیرم.

پس کلاسی با نام Slider ایجاد کنید.و سورس کد زیر را در ان پیست کنید.

public class slider implements BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener {

ArrayList<String> urlpick, names;
Context context;

public void slider(Context context, SliderLayout sliderShow) {
this.context = context;
urlpick = new ArrayList<>();
names = new ArrayList<>();
names.add("phone");
names.add("tell");
names.add("shirt");
names.add("car");
names.add("home");
urlpick.add("https://file.digikala.com/digikala/image/webstore/banner/1396/1/30/e96d24a2.jpg");
urlpick.add("https://file.digikala.com/digikala/image/webstore/banner/1396/1/28/629d8804.jpg");
urlpick.add("https://file.digikala.com/digikala/Image/Webstore/Banner/1396/1/29/5092f7cb.jpg");
urlpick.add("https://file.digikala.com/digikala/Image/Webstore/Banner/1396/1/29/538f2045.jpg");
urlpick.add("https://file.digikala.com/digikala/image/webstore/banner/1396/2/2/8d4a9d6f.jpg");
for (int i = 0; i < urlpick.size(); i++) {
TextSliderView textSliderView = new TextSliderView(context);
textSliderView.image(urlpick.get(i)).setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(this);
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString("extra", names.get(i));
sliderShow.addSlider(textSliderView);
}
}

@Override
public void onSliderClick(BaseSliderView slider) {
Toast.makeText(context, slider.getBundle().get("extra")+"", Toast.LENGTH_SHORT).show();
}

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}

@Override
public void onPageSelected(int position) {
}

@Override
public void onPageScrollStateChanged(int state) {
}
}[/pjp]</p>
حال در بخش Mainactivity اسلایدر را کست و هم چنین کلاس مربوط به اسلایدر را فراخوانی می کنیم.

&amp;nbsp;
<p dir="ltr">[php] package com.rss.homeandroidir.myapplication.Activity;
import android.support.design.widget.CoordinatorLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.daimajia.slider.library.SliderLayout;
import com.daimajia.slider.library.SliderTypes.BaseSliderView;
import com.daimajia.slider.library.Tricks.ViewPagerEx;
import com.rss.homeandroidir.myapplication.R;
import com.rss.homeandroidir.myapplication.Slider.slider;

public class MainActivity extends AppCompatActivity {
SliderLayout sliderShow;
CoordinatorLayout coordinatorLayout;
slider slider=new slider();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
sliderShow=(SliderLayout) findViewById(R.id.slider);
slider.slider(this,sliderShow);

}
}

 

 

این مورد به صورت حرفه ای کد نویسی شده و کلیک کردن کاربر رو هم بررسی می کنیم که همان طور که دقت کنیدموقع اجرا اگر روی اسلایدر کلیک کنید با توجه به position محصول مورد نظر را بر می گردونه نامش رو حالا شما می تونید اکتیویتی دیگه رو داشته باشین و به اون هدایت کنید.

 

نویسنده

کد نویسان جوان
رسالت ما کمک به موفقیت هرچه تمام تر شماست ، کد نویسان جوان

17 − سیزده =