2016-06-28 12 views

答えて

4

私はこの

<StackLayout Orientation="Horizontal" BackgroundColor="Gray"> 
     <Label Text="+995 |" BackgroundColor="Transparent" /> 
     <Editor Text="699999999" BackgroundColor="Transparent"></Editor> 
</StackLayout> 

プレフィックスとエントリの編集者のためのラベルを持つ水平stacklayoutような何かをするだろう。

あなたが自分自身を見ることができるように私はピッカーの横に矢印の下のアイコンを表示するために私のアプリに同じアプローチを使用しています。

enter image description here

var datectrl = new NoBorderPicker() 
       { 
        VerticalOptions = LayoutOptions.Center, 
        FontSize = Device.GetNamedSize(NamedSize.Default, typeof(Label)) * FontSizes.EditFormControlFactor, 
        HeightRequest = 40, 
        BackgroundColor = Color.White, 
        HorizontalOptions = LayoutOptions.FillAndExpand, 

       }; 

       var icon = new IconView() 
       { 
        Source = "ic_keyboard_arrow_right_black_24dp", 
        Foreground = Palette._019, 
        VerticalOptions = LayoutOptions.Center, 
        HorizontalOptions = LayoutOptions.End, 
        Margin = new Thickness(0, 0, 5, 0) 
       }; 
       var stack = new StackLayout() 
       { 
        Orientation = StackOrientation.Horizontal, 
        Children = 
        { 
         datectrl, 
         icon 
        } 
       }; 

NoBorderPicker

[assembly: ExportRenderer(typeof(NoBorderPicker), typeof(CustomPicker))] 
namespace ThesisSFA.Droid.Renderers 
{ 
    public class CustomPicker : PickerRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Picker> e) 
     { 
      base.OnElementChanged(e); 
      if (Control != null) 
      { 

       var customBG = new GradientDrawable(); 
       customBG.SetColor(Android.Graphics.Color.Transparent); 
       customBG.SetCornerRadius(3); 
       Control.SetBackground(customBG); 

       var custdatepicker = (NoBorderPicker) this.Element; 
       this.Control.TextSize = (float)custdatepicker.FontSize; 

      } 
     } 
    } 
} 
+0

は完全に働いたピッカーコントロールの境界線を除去するために、カスタムレンダラです、ありがとう! – nicks

関連する問題