2017-01-06 9 views
1

У меня линейный макет, заполненный кнопками (view1 - view5).Android: Как покрыть весь макет по виду программно, в то время как макет содержит кнопки уже?

Я хотел бы добавить представление (красная звезда) к этой схеме, и я хочу, чтобы это красная звезда, чтобы покрыть всю планировку и его кнопки (без установки видимости из них)

в прилагаемом изображении:

1 - расположение Я, заполненный кнопками

2- раскладка я хочу достичь, добавив свою красную звезду программно

Как я могу это сделать? enter image description here

+1

Когда вы говорите __without установки видимости them__, включает ли это звезду? Поскольку вы можете легко поместить звезду в XML как «невидимую», а затем установить ее в «visible». В противном случае это возможно. Вы должны инициировать «Просмотр» со звездой и построить ее для нужных вам атрибутов, а затем добавить ее в свой макет, вероятно, внутри вашей корневой «ViewGroup» («RelativeLayout», «LinearLayout» и т. Д.), – Sunshinator

ответ

1

Сначала переключить раскладку корня к RelativeLayout, что-то вроде

<RelativeLayout ...> 
    <View android:id="@+id/view1" 
      ... /> 
    <View android:id="@+id/view2" 
      ... 
      android:layout_below="@id/view1" /> 
    <View android:id="@+id/view3" 
      ... 
      android:layout_toRightOf="@id/view2" 
      android:layout_below="@id/view1" /> 
    ... 

Затем в нижней части этого макета добавить накладку, которая игнорирует все другие взгляды (так можно рисовать поверх них)

<View android:id="@+id/overlay" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" /> 
</RelativeLayout>