У меня есть страница, которая представляет собой слайдер, просто отображает изображение, и вы скользите влево или вправо, чтобы перейти к следующему/предыдущему.
То, что я пытаюсь сделать, это наложение нижней части экрана на панель, где я могу ввести текст, описывающий изображение.
Вот мой XML:
<Page xmlns = "http://schemas.nativescript.org/tns.xsd" xmlns:ns = "nativescript-carousel">
<Page.actionBar>
<ActionBar title = "Customer On Boarding" icon = "" class = "action-bar">
</ActionBar>
</Page.actionBar>
<StackLayout class = "">
<ns:Carousel height = "100%" width = "100%" pageChanged = "myChangeEvent" pageTapped = "mySelectedEvent" indicatorColor = "#fff000" finite = "true" bounce = "false" showIndicator = "true" verticalAlignment = "top" android:indicatorAnimation = "swap" color = "white">
<ns:CarouselItem class = "slides slides-1" id = "slide1" backgroundColor = "#b3cde0" verticalAlignment = "middle">
<Label backgroundRepeat = "no-repeat" text = "Step 1" backgroundColor = "#50000000" horizontalAlignment = "center" />
<!-- Dock Bottom -->
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-2" id = "slide2" backgroundColor = "#6497b1" verticalAlignment = "middle">
<Label text = "Slide 2" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-3" id = "slide3" backgroundColor = "#005b96" verticalAlignment = "middle">
<Label text = "Slide 3" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-4" id = "slide4" backgroundColor = "#03396c" verticalAlignment = "middle">
<Label text = "Slide 4" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
</ns:Carousel>
</StackLayout>
</Page>
и вот скриншот:
Внизу мне нужна ширина 100%, высота примерно 100 пикселей, окаймленная «панель», я могу добавить немного текста.
У кого-нибудь есть идеи? Я пробовал Dock Failed с треском. Фу.
Спасибо за поиск.
Джон
Вы можете использовать GridLayout, как в примере ниже.
<GridLayout columns = "*" rows=auto, * " backgroundColor = "lightgray ">
<StackLayout class = " row = " 0">
<ns:Carousel height = "100%" width = "100%" pageChanged = "myChangeEvent" pageTapped = "mySelectedEvent" indicatorColor = "#fff000" finite = "true" bounce = "false" showIndicator = "true" verticalAlignment = "top" android:indicatorAnimation = "swap" color = "white">
<ns:CarouselItem class = "slides slides-1" id = "slide1" backgroundColor = "#b3cde0" verticalAlignment = "middle">
<Label backgroundRepeat = "no-repeat" text = "Step 1" backgroundColor = "#50000000" horizontalAlignment = "center" />
<!-- Dock Bottom -->
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-2" id = "slide2" backgroundColor = "#6497b1" verticalAlignment = "middle">
<Label text = "Slide 2" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-3" id = "slide3" backgroundColor = "#005b96" verticalAlignment = "middle">
<Label text = "Slide 3" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
<ns:CarouselItem class = "slides slides-4" id = "slide4" backgroundColor = "#03396c" verticalAlignment = "middle">
<Label text = "Slide 4" backgroundColor = "#50000000" horizontalAlignment = "center" />
</ns:CarouselItem>
</ns:Carousel>
</StackLayout>
<StackLayout row = "1">
// add text panel here
</StackLayout>
</GridLayout>
GridLayout
— король. Используйте текстовую панель в строке 1, и вы также можете указать высоту там.