switch
düğmem var (aslında özel bir tane) ve kaydırma işlevini herhangi bir nedenle devre dışı bırakmak istiyorum; Kullanıcının sadece tıklayabilmesini istiyorum. bunu arşivlemenin bir yolu var mı? Teşekkürler.Anahtar düğmesi - kaydırma işlevini devre dışı bırakma
cevap
Anahtarınıza Tıklatılabilir (yanlış) seçeneğini ayarlayabilir, ardından Anahtarın üst öğesinde bulunan onClick() olayını dinleyebilir ve program aracılığıyla geçiş yapabilirsiniz. Düğme etkin görünmeye devam edecek, ancak kaydırma animasyonu gerçekleşmeyecek.
...
[onCreate olarak()]Switch _Switch_Internet = (Switch) findViewById(R.id.m_switch_internet);
_Switch_Internet.setClickable(false);
...
[public void ParentLayoutClicked(View _v){
Switch _Switch_Internet = (Switch) findViewById(R.id.m_switch_internet);
if(_Switch_Internet.isChecked()){
_Switch_Internet.setChecked(false);
}
else{
_Switch_Internet.setChecked(true);
}
}
...
[dinleyici tıklayın] layout.xml]
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="ParentLayoutClicked"
android:focusable="false"
android:orientation="horizontal"
>
<Switch
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:id="@+id/m_switch_internet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="NOT CONNECTED"
android:textOn="CONNECTED"
android:focusable="false"
android:layout_alignParentRight="true"
android:text="@string/s_internet_status" />
</RelativeLayout>
switchBtn Anahtarı nesne olduğunu
switchBtn.setClickable(false);
Çalışmıyor. Her şeyden önce, click olayında, clickBtn.setEnabled (false) düğmesinden sonra görünmez. İkinci olarak, engelli görünüm için farklı kaynaklara sahibiz. – Sinigami
daha iyi bir yolu önlemektir
switchBtn.setEnabled(false);
anahtarı değil tıklanabilir oluşturmak için kullan yöntemi izlenerek Anahtarı kullanımını devre dışı bırakmak için Sınıfı MotionEvent.ACTION_MOVE
olaylarından alma.
switchButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return event.getActionMasked() == MotionEvent.ACTION_MOVE;
}
});
Sonra uygun olarak anahtara yapılan bir tıklama dinleyici ayarlayın serbesttir:
Bu
ile yapılabilir.Sürüklemenin nasıl çalıştığını görmek için implementation of Switch'a bakın. Oldukça havalı!
Çalışmıyor. Tıklama etkinliğinde görünmez. Hala kaydırmaya geçin. – Sinigami
Set setableable (false) işlevini deneyin ve buna ek olarak setOnTouchListener öğesini uygulayın –
Benim çözüm:
switchView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
//Your code
}
return true;
}
});
Veya BUTTERKNIFE: Sen özel() onun onTouchEvent geçersiz sonra geçiş uzanan bir görünüm
@Override
public boolean onTouchEvent(MotionEvent ev) {
boolean handle = ev.getActionMasked() == MotionEvent.ACTION_MOVE;
return handle ? handle : super.onTouchEvent(ev);
}
Bu çalışması gerekir yapabilirsiniz
@OnTouch(R.id.switchView)
public boolean switchStatus(Switch switchView, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
// your code
}
return true;
}
.
// Bu kod ince
public class MainActivity AppCompatActivity CompoundButton.OnCheckedChangeListener { Anahtarı my_switch uygular uzanır çalışır; -http: // stackoverflow
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
my_switch = (Switch) findViewById(R.id.my_switch);
my_switch.setOnCheckedChangeListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.my_switch:
if(my_switch.isChecked())
my_switch.setChecked(true);
else
my_switch.setChecked(true);
break;
}
}
}
- 1. Formunu devre dışı bırakma Düğmesi
- 2. Kaydırma çubuğunun üzerinde yer alan Jquery işlevini devre dışı bırakma
- 3. Sadece kaydırma çubuğu özelliğini devre dışı bırakma
- 4. TinyMCE devre dışı bırakma devre dışı bırakma
- 5. WPF'de devre dışı bırakma düğmesi mi?
- 6. WPF DataGrid Düğmesi Sütun Devre Dışı Bırakma
- 7. Açısal2 ve devre dışı bırakma düğmesi istisnası
- 8. Tarayıcı kaydırma çubuğunu devre dışı bırakma
- 9. Android googlemaps V2 - Kaydırma veya kaydırma kaydırma devre dışı bırakma
- 10. Chrome'u iki parmağınızı devre dışı bırakma ileri/geri kaydırma
- 11. ListView'ü Devre Dışı Bırakma ViewPager
- 12. Taşımacıyı devre dışı bırakma
- 13. UIPickerView devre dışı bırakma
- 14. Devre Dışı Bırakma CodeRush
- 15. CollapsingToolbarLayout'u devre dışı bırakma
- 16. düğmesi devre dışı bırakılmıyor
- 17. Önyükleme sırasında varsayılan devre dışı bırakma düğmesi nasıl etkinleştirilir?
- 18. Gönderme düğmesi başarılı olduktan sonra bazı denetimleri devre dışı bırakma
- 19. Bir Android Düğmesi metninin stilini devre dışı bırakma
- 20. MacVim ile NERDtree'de Kaydırma Çubuğunu Devre Dışı Bırakma
- 21. Mobil krom tarayıcısında kaydırma hareketlerini devre dışı bırakma
- 22. Android'de WebView dokunma olaylarını devre dışı bırakma
- 23. Gezinme çekmecesi - kaydırmayı devre dışı bırakma
- 24. UICollectionView'da yatay kaydırmayı devre dışı bırakma
- 25. Yerel olarak devre dışı bırakma
- 26. Grails eklentisini devre dışı bırakma
- 27. smarty bildirimini devre dışı bırakma
- 28. VB6: Devre dışı bırakma varyantları
- 29. TabLayout'taki Sekmeleri Devre Dışı Bırakma
- 30. ListView'da Dalgalanmayı Devre Dışı Bırakma
bu yardım etsin.com/questions/11753355/switch-arasında-doubletap-ve-swipe –
swipes (FLING OLAYLAR denir) - bunu bilmiyordum ... Bunu bir dakika içinde deneyeceğim – Paul