ScrollView Program Aracılığıyla Devre Dışı Mı?
ScrollView etkinleştirmek ve Düğmeye bir Tıklama ile devre dışı bırakmak istiyorum.
Devre dışı bırak ScrollView var.. ve bunu sağlamak çocuğun ScrollView.. verir gibi gelir
Ben istiyorum çünkü ben bir galeri ile metin, resimler, ve bir düğmeye basın ekran yönlendirme değişiklikleri, Peyzaj metni daha büyük olur.. Ve istediğim scrollview yani görüntü bakmıyor streç öz ve metin okunmaz hale gelir..
scrollview.Enabled=false / setVisibility(false) xml bir şey.. yapmak bakmıyor:
<ScrollView
android:id="@ id/QuranGalleryScrollView"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<Gallery android:id="@ id/Gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal"></Gallery>
</ScrollView>
Teşekkürler
Edit1: ben cant kullanmak Görünürlük(gitti) beri de gizlemek Galeri, istediğim gizle etkisi scrollview.. Olduğunda ScrollView görüntüleri Galerisi haline scrollabale ve uyum yani ekran u var gidin bakın bütün görüntü, ben ister devre dışı bırak/etkinleştir düğmesini tıklatın.. denedim bu:
((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setOnTouchListener(null);
((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setHorizontalScrollBarEnabled(false);
((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setVerticalScrollBarEnabled(false);
((ScrollView)findViewById(R.id.QuranGalleryScrollView)).setEnabled(false);
Ama hala Galeride görüntüleri kaydırılan ve.. bunun çözümü ne ekrana sığdırmak?
CEVAP
Birkaç puan ile başlamak için:
- Bir ScrollView kaydırma devre dışı bırakın. ScrollView uzatmaya gerek ve bazı koşul eşleşen zaman
falsedönmekonTouchEventyöntemini geçersiz kılar. - Galeri bileşeni yatay bir ScrollView içinde olup olmadığına bakılmaksızın verilirse - bir ScrollView sadece dikey kaydırma (yatay kaydırma için bir HorizontalScrollView gerekir) sağlar
- Görünüyor ki bir sorununuz var görüntü germe kendini bu işle hiç ilgisi yok, ScrollView, sen-ebilmek değiştirmek nasıl bir İmageView pullu
android:scaleTypeözellik (XML) veyasetScaleTypeyöntemi - örnekScaleType.CENTERolmaz streç görüntü ve irade merkezi de orijinal boyutu
Kaydırma devre dışı bırakmak için aşağıdaki gibi ScrollView değiştirebilir
class LockableScrollView extends ScrollView {
...
// true if we can scroll (not locked)
// false if we cannot scroll (locked)
private boolean mScrollable = true;
public void setScrollingEnabled(boolean enabled) {
mScrollable = enabled;
}
public boolean isScrollable() {
return mScrollable;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (mScrollable) return super.onTouchEvent(ev);
// only continue to handle the touch event if scrolling enabled
return mScrollable; // mScrollable is always false at this point
default:
return super.onTouchEvent(ev);
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// Don't do anything with intercepted touch events if
// we are not scrollable
if (!mScrollable) return false;
else return super.onInterceptTouchEvent(ev);
}
}
O zaman kullanırsınız
<com.mypackagename.LockableScrollView
android:id="@ id/QuranGalleryScrollView"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<Gallery android:id="@ id/Gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal">
</Gallery>
</com.mypackagename.LockableScrollView>
XML dosyası (değişti LockableScrollView özel ScrollView).
Ara o zaman
((LockableScrollView)findViewById(R.id.QuranGalleryScrollView)).setScrollingEnabled(false);
görünümü kaydırma devre dışı bırakmak için.
Bence bu daha önemli bir sorun devre dışı kaydırma olsa ulaşmak istediğiniz sonuç (Galeri kalacak kaydırılan ile yukarıdaki kod örneği) - önerebilirim yaparken biraz daha araştırma her üç bileşeni (Galeri, ScrollView, İmageView) görmek ne özellikleri vardır ve her biri nasıl davranır.

Nasıl/android program aracılığıyla blu...
Nasıl ViewPager içinde parmak ile kayd...
Program aracılığıyla devre dışı bırakm...
Nasıl devre dışı bırakmak için Uyku mo...
Bir ScrollView Program aracılığıyla An...