2016-01-08 15 views
6

現在モバイルプラットフォームを対象としたWebベースのHTMLアプリケーションの代替として、Xamarin Formsを評価しています。Xamarinフォーム:テキストにシンボルを埋め込む

私たちのアプリケーションでは、テキストの段落にグラフィックシンボルが埋め込まれていることがよくあります。 所望の効果は次のようになります。もちろん

Example

テキストは自由にすべてのシンボルを含め、ラップアラウンドすることができなければなりません。このHTMLでは、単純に次のように実現されます。

<p>Sample text with <img src="sample.jpg"> embedded</p> 

どのように私はXamarinフォームを使用して同じ効果を得ることができますか?私は既にLabelのサブパラグラフの書式設定を可能にするFormattedStringsを見てきましたが、画像の埋め込みを許可していないようです。

少なくとも、iOS、Android、Windows Phone 8.1をサポートするソリューションが必要です。

答えて

1

現在、テキストブロック内のシンボルとイメージを持っている唯一の方法は、WebViewの(https://developer.xamarin.com/guides/xamarin-forms/working-with/webview/)を使用することです

var browser = new WebView(); 
var htmlSource = new HtmlWebViewSource(); 
htmlSource.Html = @"<html><body> 
    <h1>Xamarin.Forms</h1> 
    <p>Welcome to WebView.</p> 
    </body></html>"; 
browser.Source = htmlSource; 
+0

まあ、私はこのうまく動作するように見えた、そしてそれはそうとWP8やAndroid上で、しかし、まだiOSの上でそれをテストすることができませんでしたプラットフォームに依存しない方法でそれを行う唯一の方法であることは、受け入れられた答えです。 –

4

が明らかWebViewを使用することを余儀なくされているほとんどXamarinにHTML5アプリを動かすのポイントを破ります! https://forums.xamarin.com/discussion/1649/text-with-image

はトマシュCieleckiはここにいくつかのサンプルコードを調理問題を解決するには:同様の質問が尋ねてきたXamarinのフォーラムで

https://gist.github.com/Cheesebaron/5034440

それから彼は、ここでそれについてのブログに行ってきました: http://blog.ostebaronen.dk/2013/02/adding-images-to-textview-and-edittext.html

<スニップ>

私は、Wiを始めましたTextViewに表示されているImageを取得しようとする、非常に簡単なサンプルです。私はいくつかの解決策を見つけ出し、間違いなく、SpannablesはImageSpanを使用できるようにしました!素晴らしいサンプルがありました。私はこれを思いつきました。

ImageSpanのTextView

//Load up your drawable. 
var imageSpan = new ImageSpan(this, Resource.Drawable.Icon); 
//Set the text of SpannableString from TextView 
var spannableString = new SpannableString(textView.Text); 
//Add image at end of string 
spannableString.SetSpan(imageSpan, textView.Text.Length-1, textView.Text.Length, 0); 

簡単で、ハァッ? StyleSpanなどのSpannableに他のスパンを追加して、フォントを太字、斜体などのスタイルでスタイルすることもできます。

これは簡単だったので、私はすぐにEditTextでそれをやろうとしました。それはまた...だけで正常に動作

< /チョキ>

+0

もう1つのオプション*はプラットフォームニュートラルです*は、テキストとイメージの両方をレンダリングするために、TableViewにImageCellコントロールを持っています。 http://blog.falafel。明らかに、これはテキストの間でイメージを取得するために少しの作業が必要ですが、カスタムレンダラーより簡単です。もう1つの選択肢は、画像上にラベルを配置することです:https://forums.xamarin.com/discussion/19089/position-label-or-any-text-on-top-of-an-image-これは落ちるものの1つです私はすでにそこに何かがないことに驚いているが、プラットフォーム固有のコーディングの10%に。 –

関連する問題