質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

872閲覧

XamarinのPickerで表示される文字を右詰めにするには

eksmin1

総合スコア7

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2018/08/28 02:09

前提・実現したいこと

XamarinのPickerで表示されている文字を右詰めにしたいのですがどうすればいいのでしょうか。
どのように設定をすればいいのか、またはプログラムを書かないと行けないものでしょうか。
どうぞよろしくお願いします。

###現状
このように表示される
[abcd ]

###目的
このように表示させたい
[ abcd]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

デフォルトではできなさそうなので、カスタムレンダラーを使います。
Xamarin.Forms のカスタム レンダラー - Xamarin | Microsoft Docs

各プラットフォーム毎に、以下のような処理を書いていくことになります。(RightPickerという名前にしました)

共通

C#

1namespace 〇〇 2{ 3 public class RightPicker : Picker 4 { 5 } 6}

iOS

C#

1[assembly: ExportRenderer(typeof(RightPicker), typeof(RightPickerRenderer))] 2namespace 〇〇.iOS 3{ 4 public class RightPickerRenderer : PickerRenderer 5 { 6 protected override void OnElementChanged(ElementChangedEventArgs<Picker> e) 7 { 8 base.OnElementChanged(e); 9 10 if (Control != null) 11 { 12 Control.TextAlignment = UIKit.UITextAlignment.Right; 13 } 14 } 15 } 16}

Android

C#

1[assembly: ExportRenderer(typeof(RightPicker), typeof(RightPickerRenderer))] 2namespace 〇〇.Droid 3{ 4 public class RightPickerRenderer : PickerRenderer 5 { 6 public RightPickerRenderer(Context context) : base(context) 7 { 8 } 9 10 protected override void OnElementChanged(ElementChangedEventArgs<Picker> e) 11 { 12 base.OnElementChanged(e); 13 14 if (Control != null) 15 { 16 Control.Gravity = GravityFlags.Right; 17 } 18 } 19 } 20}

RightPickerという名前で、普通のPickerと同じように使えます。

xml

1<local:RightPicker> 2 ... 3</local:RightPicker>

投稿2018/08/28 03:12

f-miyu

総合スコア1625

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eksmin1

2018/08/28 08:53

ありがとうございます。 まだ試していませんので、試してまたお知らせいたします。
eksmin1

2018/08/30 13:52

ありがとうございました。 ほぼこれでうまくいきました。 補足すれば、 namespaceの設定やxamlファイルでのContentPage内での「xmlns:local="clr-namespace:○○.Views"」といった設定が必要でした。 この度はありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問