Sayfada yükleme, ilerleme durumu veya gezinme çubuğunu göstermek için dokunun. Kaydırma çubukları küresel kullanıcı deneyimi bileşenleridir ve dikkat edin.
Kaydırma Çubuğu
Kaydırma kaydırma çubukları, siz kaydırırken kartın konumunu belirtmek için kullanılır
farklı kartları kullanabilirsiniz. Aynı türde efekt türünü kullanarak
Slider.Scroller
.
- Tekliflerinizi otomatikleştirmek ve optimize etmek için
Slider.from()
oluşturmak içinSlider
kullanılanView
tıklayın. - Şunu oluşturun:
Slider.Scroller
kullanarakstartScroller()
ve maksimum konumları ve başlangıç konumlarını belirleyin.
Burada, bir kaydırıcıyı sonraki konuma taşıyan basit bir uygulamayı görebilirsiniz Kullanıcı dokunduğunda:
public final class SliderActivity extends Activity {
private static final int MAX_SLIDER_VALUE = 5;
private static final long ANIMATION_DURATION_MILLIS = 5000;
private CardScrollView mCardScroller;
private Slider mSlider;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
// Create the cards for the view
mCardScroller = new CardScrollView(this);
mCardScroller.setAdapter(new CardAdapter(createCards()));
// Set the view for the Slider
mSlider = Slider.from(mCardScroller);
mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
processSliderRequest(position+1);
}
});
setContentView(mCardScroller);
}
private void processSliderRequest(position) {
Slider.Scroller scroller = mSlider.startScroller(MAX_SLIDER_VALUE, 0);
// Animate the slider to the next position. The slider
// automatically hides after the duration has elapsed
ObjectAnimator.ofFloat(scroller, "position", 0, position)
.setDuration(ANIMATION_DURATION_MILLIS)
.start();
}
}
Ek Süre Kaydırma Çubuğu
Ek süre kaydırma çubukları, kullanıcının şu işlemleri yapmasının yararlı olduğu etkinliklerde çalışır:
bir bildirim görür, ancak kullanıcı etkileşimi gerekmez. Bunu ekleyebilirsiniz
animasyonu
Slider.GracePeriod
.
- Tekliflerinizi otomatikleştirmek ve optimize etmek için
Slider.from()
oluşturmak içinSlider
kullanılanView
tıklayın. - Bir metin oluştur:
GracePeriod.Listener
ve uyguladığımızonGracePeriodEnd()
veonGracePeriodCancel()
bu etkinlikleri yönetebilirsiniz. - Bir metin oluştur:
Slider.GracePeriod
veGracePeriod.Listener
şuraya:startGracePeriod()
yöntemini kullanın. - Etkinliğin
onBackPressed()
için aşağı kaydırma hareketini kullanın. - Kullanıcı hızlıca aşağı kaydırırsa çağrı
cancel()
uygulamasındaSlider.GracePeriod
tuşuna basın.
Aşağıdaki örnekte, ek süre kaydırıcısı bir dinleyici ile başlatılmıştır. dönem sona erdiğinde bir başarı sesi çalacak ve ek süre kaydırma çubuğu iptal edildi:
public final class SliderActivity extends Activity {
...
private Slider.GracePeriod mGracePeriod;
private final GracePeriod.Listener mGracePeriodListener =
new GracePeriod.Listener() {
@Override
public void onGracePeriodEnd() {
// Play a SUCCESS sound to indicate the end of the grace period.
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.playSoundEffect(Sounds.SUCCESS);
mGracePeriod = null;
}
@Override
public void onGracePeriodCancel() {
// Play a DIMISS sound to indicate the cancellation of the grace period.
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.playSoundEffect(Sounds.DISMISSED);
mGracePeriod = null;
}
};
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
// Create the cards for the view
mCardScroller = new CardScrollView(this);
mCardScroller.setAdapter(new CardAdapter(createCards()));
// Set the view for the Slider
mSlider = Slider.from(mCardScroller);
mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
mGracePeriod = mSlider.startGracePeriod(mGracePeriodListener);
}
});
setContentView(mCardScroller);
}
@Override
public void onBackPressed() {
// If the Grace Period is running,
// cancel it instead of finishing the Activity.
if (mGracePeriod != null) {
mGracePeriod.cancel();
} else {
super.onBackPressed();
}
}
}
Belirleme Kaydırma Çubuğu
Belirli kaydırma çubukları, genellikle ne zaman ne zaman hesaplama yapacağınıza ilişkin ilerlemeyi göstermek için kullanılır.
görevi tamamlamaktır. Bu animasyonu
Slider.Determinate
.
- Tekliflerinizi otomatikleştirmek ve optimize etmek için
Slider.from()
oluşturmak içinSlider
kullanılanView
tıklayın. - Şunu oluşturun:
Slider.Determinate
kullanarakstartScroller()
ve maksimum konumları ve başlangıç konumlarını belirleyin. - Animasyon bittiğinde
hide()
yönteminiSlider.Determinate
tuşuna basın.
Burada, kullanıcı dokunduğunda:
public final class SliderActivity extends Activity {
...
private Slider.Determinate mDeterminate;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
// Create the cards for the view
mCardScroller = new CardScrollView(this);
mCardScroller.setAdapter(new CardAdapter(createCards()));
// Set the view for the Slider
mSlider = Slider.from(mCardScroller);
mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
mDeterminate = mSlider.startDeterminate(MAX_SLIDER_VALUE, 0);
ObjectAnimator animator = ObjectAnimator.ofFloat(mDeterminate,
"position", 0, MAX_SLIDER_VALUE);
// Hide the slider when the animation stops.
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
mDeterminate.hide();
}
});
// Start an animation showing the different positions of the slider.
animator.setDuration(ANIMATION_DURATION_MILLIS).start();
}
});
setContentView(mCardScroller);
}
}
Belirsiz Kaydırma Çubuğu
Belirsiz kaydırma çubukları, zor olan ekranları yüklemek için kullanılabilir
görevin ne zaman biteceğini
tahmin etmek için kullanır. Bunu ekleyebilirsiniz
animasyonu
Slider.Indeterminate
.
- Tekliflerinizi otomatikleştirmek ve optimize etmek için
Slider.from()
oluşturmak içinSlider
kullanılanView
tıklayın. - Animasyonu şununla başlatın:
Slider.startIndeterminate()
yöntemini kullanabilirsiniz. - Animasyonu durdurmaya hazır olduğunuzda
hide()
yönteminiSlider.Indeterminate
.
Burada, Kullanıcı karta dokunduğunda ve tekrar dokunduğunda kartı gizlediğinde:
public final class SliderActivity extends Activity {
...
private Slider.Indeterminate mIndeterminate;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
// Create the cards for the view
mCardScroller = new CardScrollView(this);
mCardScroller.setAdapter(new CardAdapter(createCards()));
// Set the view for the Slider
mSlider = Slider.from(mCardScroller);
mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Toggle between showing/hiding the indeterminate slider.
if (mIndeterminate != null) {
mIndeterminate.hide();
mIndeterminate = null;
} else {
mIndeterminate = mSlider.startIndeterminate();
}
});
setContentView(mCardScroller);
}
}