نوشته‌ها

چگونه یک اسلایدر به اکتیویتی اضافه کنیم؟

چگونه یک اسلایدر به اکتیویتی اضافه کنیم؟

ابتدا کتابخانه‌های مورد نیاز برای نوشتم اسلایدر را به اپلیکیشن اضافه می‌کنیم:

تو فایل gradle کتابخونه‌ها رو به ترتیب یر اضافه می‌کنیم:

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’

با اضافه کردن این کتابخونه‌ها اندروید استودیو نیاز به دانلود کتابخونه‌هایی داره که تو sdk  وجود نداره.پس فراموش نکنید حتما فیلتر شکنتون رو اجرا کنید.

 

بعد از اضافه کردن کتابخونه ها باید permission  های مورد نیاز را در فایل AndroidManifest.xml تعریف کنید:

 

<uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.INTERNET” />

 

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

<com.daimajia.slider.library.SliderLayout
android:id=”@+id/slider”
android:layout_width=”match_parent”
android:layout_height=”200dp” />

 

و در MainActivity.java   ؛ SliderLayout  را که در فایل Layout اضافه کرده بودیم تعریف می‌کنیم:

SliderLayout sliderShow = (SliderLayout) findViewById(R.id.slider);
TextSliderView textSliderView = new TextSliderView(this);

 

 

تو کد بالا ابتدا SliderLyout و TextSliderView را تعریف می‌کنیم و شرح تصویر و خود تصویر را بهش اضافه می‌کنیم:

textSliderView
.description(“Game of Thrones”)
.image(“http://images.boomsbeat.com/data/images/full/19640/game-of-thrones-season-4-jpg.jpg”);

sliderShow.addSlider(textSliderView);

حالا کافیه یه آرایه تعریف کنیم و آدرس تصاویر و نام تصویر را داخل آرایه بریزیم و با یم حلقه طبق مثال بایل به SliderView ‌ی که تعریف کردیم اضافه کنیم. کد کامل را براتون میزارم:

 


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.SliderTypes.TextSliderView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity implements BaseSliderView.OnSliderClickListener{
ArrayList<String> urlPics;
ArrayList<String> names;
@Override
protected void onCreate(Bundle savedInstanceState) {
urlPics = new ArrayList<>();
names = new ArrayList<>();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SliderLayout sliderShow = (SliderLayout) findViewById(R.id.slider);
urlPics.add(“http://webenik.com/wp-content/uploads/2017/11/android1kjh.jpg”);
urlPics.add(“http://webenik.com/wp-content/uploads/2017/11/Programming-for-Kids-e1465336734364.jpg”);
urlPics.add(“http://webenik.com/wp-content/uploads/2017/12/51ea53b6f14e2a5ea05d98834444.jpg”);
urlPics.add(“http://webenik.com/wp-content/uploads/2017/11/programming-mistakes.jpg”);

names.add(“android”);
names.add(“Kids”);
names.add(“design”);
names.add(“pack”);

for(int i =0  ;i<urlPics.size();i++){
TextSliderView textSliderView = new TextSliderView(this);
textSliderView.image(urlPics.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) {

}
}