2013-09-21 30 views
19

trong ứng dụng của tôi, tôi sử dụng XML được xác định đường chấm dọc.Đường chấm chấm thực sự không bị rải rác khi ứng dụng đang chạy trên thiết bị Android thực

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="90" 
    android:toDegrees="90"> 
<shape 

    android:shape="line"> 
    <stroke 

     android:width="1dp" 
     android:color="@color/light_gray" 
     android:dashWidth="2dp" 
     android:dashGap="4dp" 
     /> 
</shape> 

Khi tôi đang săm soi bố trí của tôi trong Android Studio, dòng được trả lại rải rác đúng cách, như nó phải, nhưng vấn đề đi ra khi tôi chạy ứng dụng trên thiết bị thực. Dòng chỉ là rắn với không có khoảng trống .. Bạn có biết nơi có thể là vấn đề? Tôi đã thử nhiều thiết bị khác nhau bao gồm cả những thiết bị chạy Android 4.3 mới nhất..Nó nhìn ở mọi nơi giống nhau:/

+0

Không cần thiết để kiểm soát tăng tốc phần cứng [Điều này sẽ giải quyết vấn đề của đường chấm chấm] (http://stackoverflow.com/questions/24536617/android- l-là-không-có-thể-vẽ-chấm-line-như-drawable-nền) –

Trả lời

45

Điều này rất có thể liên quan đến tăng tốc phần cứng: Đường nét không được hỗ trợ trong chế độ GL.

của tài liệu ở đây: https://code.google.com/p/android/issues/detail?id=29944

Tắt HW tăng tốc của bạn trong AndroidManifest.xml của bạn như thế này:

android:hardwareAccelerated="false" 

hay:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null) 

Để biết thêm thông tin làm thế nào để sử dụng giải pháp đầu tiên: http://developer.android.com/guide/topics/graphics/hardware-accel.html

+1

Bạn là một thuật sĩ ..Hoặc là bạn chỉ cần cách tốt hơn khi sử dụng Google :) Cảm ơn – simekadam

+1

vấp phải cùng một vấn đề- tháng trước;) – stoefln

+0

Không hoạt động ... :( – MohsinSyd

15

Kiểm soát Tăng tốc phần cứng

Bạn có thể kiểm soát tăng tốc phần cứng theo các mức sau:

  • Application

  • Hoạt động

  • Window

  • Xem

mức Application

<application android:hardwareAccelerated="true" ...> 

mức Hoạt động

<application android:hardwareAccelerated="true"> 
    <activity ... /> 
    <activity android:hardwareAccelerated="false" /> 
</application> 

mức Window

getWindow().setFlags(
    WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, 
    WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 

Xem mức

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

Reference

Các vấn đề liên quan