2017-01-31 4 views
0

Я с помощью AppCompact темы в Xamarin формы андроида когда клавиатура всплывать его шкурку последней строке сетки Before Keyboard Popup see Imageклавиатуры всплывающее окно его шкура последняя строка сетки

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

<Grid RowSpacing="0" VerticalOptions="FillAndExpand"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="80" /> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="50" /> 
     </Grid.RowDefinitions> 
     <StackLayout 
      Grid.Row="0" 
      Padding="10,8" 
      BackgroundColor="White" 
      HorizontalOptions="FillAndExpand" 
      Orientation="Horizontal"> 
      <Entry 
       x:Name="GeneralPostTitle" 
       Margin="10,10,10,0" 
       FontSize="20" 
       HorizontalOptions="FillAndExpand" 
       Placeholder="Title" 
       PlaceholderColor="Gray" 
       TextColor="Black" 
       VerticalOptions="End" /> 
     </StackLayout> 
     <StackLayout 
      Grid.Row="1" 
      Padding="10,0" 
      BackgroundColor="White" 
      HorizontalOptions="FillAndExpand" 
      Spacing="0" 
      VerticalOptions="FillAndExpand"> 
      <StackLayout Padding="0" VerticalOptions="Fill"> 
       <customRenderer:PlaceholderEditor 
        x:Name="EditorDescription" 
        Margin="10,10,10,0" 
        FontSize="22" 
        HeightRequest="130" 
        HorizontalOptions="Fill" 
        Placeholder="Add Description" 
        PlaceholderTextColor="Gray" 
        TextColor="Gray" /> 
      </StackLayout> 
      <ScrollView Padding="10" Orientation="Horizontal"> 
       <StackLayout 
        x:Name="Images" 
        HorizontalOptions="FillAndExpand" 
        Orientation="Horizontal" 
        Spacing="5" /> 
      </ScrollView> 
     </StackLayout> 
     <StackLayout 
      Grid.Row="2" 
      Padding="20,0" 
      BackgroundColor="#FAFAFA"> 
      <Image 
       Aspect="AspectFit" 
       HeightRequest="40" 
       HorizontalOptions="StartAndExpand" 
       WidthRequest="30"> 
       <Image.Source> 
        <OnPlatform 
         x:TypeArguments="ImageSource" 
         Android="camera" 
         WinPhone="Icons/camera.png" 
         iOS="Icons/camera.png" /> 
       </Image.Source> 
       <Image.GestureRecognizers> 
        <TapGestureRecognizer Tapped="ImagePost_OnTapped" /> 
       </Image.GestureRecognizers> 
      </Image> 
     </StackLayout> 
    </Grid> 

После клавиатуры Всплывающие см Изображение

enter image description here

+0

Не могли бы вы высказать свои макеты? –

ответ

0

Вы должны установить SoftInput to AdjustResize для того, чтобы Android, чтобы изменить точку зрения, так что они остаются видимыми. В Формах вы можете сделать это с помощью platform specifics feature в Формах 2.3.3.

Отъезд this Gist on how to do this in OnCreate(). Обратите внимание на временное решение, необходимое для удаления подложки, добавленной в строку состояния в API 21+.

+0

У меня есть это, но когда мы возвращаемся, не скрывая клавиатуру, чем полуэкран не показывать @jimmgarr –

+0

Как мы делаем то же самое в Иосе? @jimmgarr –

+0

На iOS вам нужно будет использовать собственный рендерер, чтобы вы могли реагировать на клавиатуру, отображая и изменяя размер представления, [как показано здесь] (https://forums.xamarin.com/discussion/comment/95846/#Comment_95846). Что касается проблемы с Android, которую вы упомянули, я не уверен, что понимаю. Можете ли вы создать [MCVE] (http://stackoverflow.com/help/mcve)? Благодаря! – jimmgarr