Я пытаюсь сделать вид в Android с закругленными краями. Решение, которое я нашел до сих пор, состоит в том, чтобы определить форму с закругленными углами и использовать ее в качестве фона этого вида.
Вот что я сделал, определите drawable, как указано ниже:
<padding
android:top="2dp"
android:bottom="2dp"/>
<corners android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
Теперь я использовал это как фон для моего макета, как показано ниже:
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:clipChildren="true"
android:background="@drawable/rounded_corner">
Это прекрасно работает, я вижу, что вид имеет закругленные края.
Но в моем макете есть много других дочерних представлений, например ImageView или MapView
. Когда я размещаю ImageView
внутри вышеуказанного макета, углы изображения не обрезаются/не обрезаются, вместо этого они выглядят полными.
Я видел другие обходные пути, чтобы заставить это работать как объяснил здесь.
Но есть ли способ установить закругленные углы для вида и всех его дочерние представления содержатся в этом главном представлении, которое имеет углы?