Я создавал фигуру для использования в качестве фона кнопки. Я делаю полосу кнопок, и у левого края будут закругленные углы слева, а у последнего справа будут закругленные углы справа. Это довольно просто, и Api Docs покажет вам, как это сделать. Однако, когда я использовал android:topLeftRadius
и android:bottomLeftRadius
, результат в пользовательском интерфейсе был таким, как будто я поставил bottomRightRadius. Такое же поведение было верно для другой стороны. Похоже, что кто бы ни реализовал это поменял местами bottomRight и bottomLeft. Я выложу фрагмент кода ниже.
Есть ли какая-то логическая причина для этого, которую я мог бы пропустить? Или, если это было ошибкой со стороны инженеров Android, останется ли она обратно совместимой, как только они это исправят? Я предполагаю, что они должны будут сделать все новые атрибуты, чтобы сохранить действительные старые (возможно, leftTop вместо topLeft?).
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid android:color="#99000000" />
<padding
android:top="8dp"
android:left="8dp"
android:right="8dp"
android:bottom="8dp" />
<corners
android:topLeftRadius="8dp"
android:bottomRightRadius="8dp" />
</shape>
</item>