2016-07-25 2 views
0

У меня есть собственный полукруглый макет Liner, в котором я хочу добавить цветные виды, но эти представления не соответствуют пользовательской форме (или остаются в пределах макета Liner)make views in Layout match custom layout of layout

когда я назначен пользовательские формы с видом

custom shape

, когда я задаю MATCH_PARENT мнения

match parent

Я хочу, чтобы представления заполняли внутреннюю часть макета Liner, сохраняя при этом его форму, можно ли это сделать?

ответ

0

Вы не можете создать пользовательскую форму для представления. VIews всегда прямоугольные. Если вы имеете в виду, что у вас есть настраиваемый фон, это не делает группу представления настраиваемой формой или влияет на макет представлений внутри группы. Если вы хотите это сделать, вам нужно переопределить onLayout (и, возможно, onMeasure) и расставить отдельные дети с ограничениями, которые вы ожидаете от них. Не удивляйтесь, если вы получите некоторые уродливые или нефункциональные результаты, такие как this-views не были круговыми.

+0

Есть ли какой-либо способ облака, убедитесь, что вид не распространяется из его родителя? Я пробовал Android: clipChildren = "true", но это, похоже, не работает. –

+0

Они не могут расширяться из своего родителя. Но их родительский прямоугольник, а не любая форма, которую вы используете для фона. –