Я хочу сделать относительный макет в форме круга. Я не хочу использовать холст, потому что я не могу обрабатывать интерактивные события в canvas. Мне нужно каждое событие, например, щелчок мышью и т. Д. для выполнения только внутри этого круга. При нажатии за пределами круга не должно выполняться событие макета.
Относительная компоновка в виде круга
Я следующий код, circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@android:color/white"/>
<size
android:width="10dp"
android:height="10dp"/>
</shape>
, img.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/circle"/>
</layer-list>
, расположение
<RelativeLayout
android:id="@+id/test_layout"
android:layout_width="700px"
android:layout_height="700px"
android:background="@drawable/img" />
Но этот код устанавливает круг на фон relat ive, который находится в форме прямоугольника. Независимо от того, какое событие я добавляю к относительной компоновке, выполняйте за пределами круга. Я хочу, чтобы весь макет был кругом. Как я могу это сделать?
Создайте форму в выпадающей папке и примените ее как фон. –
Это может помочь http://www.gadgetsaint.com/tips/dynamic-square-rectangular-layouts-android/#.WRRjMvl96Hs – ASP