2016-04-06 3 views
0

Существуют два основных подхода для закругленных углов на андроида:Закругленные углы на андроиде - какая реализация лучше?

То, что я не понимаю, почему я должен когда-либо предпочитают использовать 9 патч вместо макета défini Тион? Есть ли какая-либо польза для его производительности или для какого-то другого аспекта?

+0

9 патч позволяет более сложные конструкции, чем просто форма XML –

+0

Возможный дубликат http://stackoverflow.com/questions/18073505/what-should-i-use-for-better-performance-nine-patch-or-drawable-xml -ресурс – uguboz

ответ

1

Я бы выбрал самый простой инструмент, который дает мне то, что мне нужно. Особенно зная, что я могу легко переключиться позже. Xml, если простая форма - это все, что мне нужно, и 9-патч, если мне нужно что-то более сложное или вам предоставлен актив для использования.

9-patch может сделать гораздо больше, чем простое округление в форме xml, оно растягивает исходный актив, поддерживая четыре угла в их соотношении сторон, они могут быть круглыми, они могут не быть, они могут быть такими сложными, как вам нравится ,

Odd-shape

я думаю, что производительность не является основанием для принятия либо выбора в наиболее чувственных случаев использования.

1

Существует также 3-й вариант с CardView, который намного чище и удобнее в обслуживании.

<android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     card_view:cardBackgroundColor="@color/green" 
     card_view:cardCornerRadius="4dp" 
     card_view:cardElevation="0dp" > 
</android.support.v7.widget.CardView> 
  1. Использование XML, если вы хотите сделать закругленные углы к View (кнопка, TextView и т.д.)
  2. Используйте CardView если вы хотите сделать закругленные углы в ViewGroup (LinearLayout, FrameLayout и т.д.)
  3. Используйте 9 патч, если вы не можете добиться того, что вы хотите с какой-либо из выше 2
Смежные вопросы