2012-06-01 12 views
22

kesik XML'indeki ShapeDrawable olarak tanımlanan bir kesikli çizgi, şudur:Android hat çekilebilir potansiyel ICS hata

<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="line"> 

    <size 
     android:height="2dp" 
     android:width="700dp" /> 

    <stroke 
     android:width="1dp" 
     android:color="@android:color/black" 
     android:dashWidth="1dp" 
     android:dashGap="2dp" /> 

</shape> 

Bu birkaç Gingerbread telefonlarda güzel noktalı çizgi çekecektir. Bununla birlikte, Galaxy Nexus üzerinde, tire işaretleri göz ardı edilir ve şekil bitişik bir çizgi olarak çizilir. Daha da meraklı olan, ICS çalıştıran bir emülatör, tire ile doğru bir şekilde işleyecektir, bu sadece fiziksel bir cihazdır.

Belirgin bir şey mi eksik? Veya bu gerçekten 4.0 4.0 ile bir hata mı? Hat çeşitli yerlerde kullanılır.

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="@dimen/observation_observe_side_margin" 
    android:layout_marginRight="@dimen/observation_observe_side_margin" 
    android:layout_marginTop="16dp" 
    android:contentDescription="@string/dotted_line_description" 
    android:src="@drawable/dotted_line" /> 
+0

Galaxy Nexus'taki uygulamamdaki aynı sorunu görüyorum. Diğer cihazlarda 2.x cihazları noktalı olarak görünür. –

+0

http://stackoverflow.com/a/26296229/185022 –

+0

kopyasının olası kopyası, gerçek bir Android cihazında uygulama çalışırken noktalı nokta aslında noktalanmamıştır (http://stackoverflow.com/questions/18931679/dotted -line-aslında-değil-noktalı-ne zaman-app-is-gerçek-android-cihaz üzerinde çalışan) –

cevap

21

Bu sorun kesikli çizgi gösterecektir donanım ivmesini kapatma burada http://code.google.com/p/android/issues/detail?id=29944 günlüğe kaydedilir: İşte bir örnek ImageView olduğunu.

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null) 

Bu benim için çalıştı:

+2

Ne yazık ki bu benim performansım yaklaşık% 500 oranında kötüleşir. Bunu önlemek için herhangi bir geçici çözüm var mı? –

43

http://code.google.com/p/android/issues/detail?id=29944 de açmış konu görünümünüze aşağıdaki uygulayarak bir yorumu var.

+27

Görünümü programsal olarak düzenlemek istemiyorsanız, XML tanımına "android: layerType =" software "' özelliğini de ekleyebilirsiniz. Sorudaki örnekte – Arkaaito

+0

API 11+ http://developer.android.com/reference/android/view/View.html#setLayerType – Dori

+0

. 'ImageView' ya da 'shape' için android: layerType = "software" 'kuracak mısınız? –