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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

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

Q&A

2回答

5340閲覧

Xamarin.Formsで背景画像を設定する方法

ze_ze_ze

総合スコア14

C#

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

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

0グッド

0クリップ

投稿2016/12/01 04:31

###前提・実現したいこと
xamarin.fromsで背景に画像を設定する方法が分かりません。
出来ればXAMLではなくCSで書きたいです。
分かる方教えてください。
よろしくお願いします。

###試したこと
ネットで調べたところBackgroundImageでやればいいと書いてあったので試したところ存在しませんでした。

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

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

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

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

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

guest

回答2

0

BackgroundImage プロパティは Page を継承したクラスにありそうです。

C#

1 public App() 2 { 3 // The root page of your application 4 var content = new ContentPage 5 { 6 Title = "background1201", 7 BackgroundImage = "icon.png", 8 Content = new StackLayout 9 { 10 VerticalOptions = LayoutOptions.Center, 11 Children = { 12 new Label { 13 HorizontalTextAlignment = TextAlignment.Center, 14 Text = "Welcome to Xamarin Forms!" 15 } 16 } 17 } 18 }; 19 20 MainPage = new NavigationPage(content); 21 }

投稿2016/12/01 07:29

NakamuraYoichi

総合スコア374

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

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

ze_ze_ze

2016/12/01 07:42

回答ありがとうございます。 そういうことでしか! ちなみに public App() { // The root page of your application MainPage = new MainPage(); } } class MainPage : ContentPage { public MainPage() { という書き始めでContentPageを作っているのですがその場合どこに書けば継承されますか? 分かるようでしたら教えてください。 よろしくお願いします。
NakamuraYoichi

2016/12/01 08:16

MainPage クラスが継承しています。したがって、次のように書けるはずです。 class MainPage : ContentPage { public MainPage() { BackgroundImage = "icon.png"; } }
ze_ze_ze

2016/12/01 08:46

回答ありがとうございます。 そこに入れてみたのですが反映されませんでした。 原因は何だと思いますか? 分かるようでしたら教えてください。 よろしくお願いします。
tottemohimadesi

2018/02/23 11:43

画像の保存場所はあっていますでしょうか? 各プロジェクトで下記の場所に画像を入れる必要がある様です。 iOS: Resources Android: Resources/drawable
guest

0

もしかしたら少し外してるかもしれませんが…。

csharp

1namespace BackgroundTest 2{ 3 public class TestApp : Xamarin.Forms.Application 4 { 5 public TestApp() 6 { 7 MainPage = new AppPage(); 8 } 9 } 10 11 public class AppPage : ContentPage 12 { 13 public AppPage() 14 { 15 var baseLayout = new Grid() 16 { 17 BackgroundColor = Color.FromRgb(0.7, 0.7, 1.0), 18 }; 19 baseLayout.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); 20 baseLayout.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); 21 22 baseLayout.Children.Add(new Image() 23 { 24 HorizontalOptions = LayoutOptions.FillAndExpand, 25 VerticalOptions = LayoutOptions.FillAndExpand, 26 Aspect = Aspect.AspectFit, 27 Source = "387ada2dbf6a4a03c802a1cc478b5aa5.png", 28 }, 0, 0); 29 30 baseLayout.Children.Add(new StackLayout() 31 { 32 Orientation = StackOrientation.Vertical, 33 Children = 34 { 35 new Label() 36 { 37 HorizontalOptions = LayoutOptions.FillAndExpand, 38 VerticalOptions = LayoutOptions.FillAndExpand, 39 HorizontalTextAlignment = TextAlignment.Center, 40 VerticalTextAlignment = TextAlignment.Center, 41 Text = "Hello, world", 42 }, 43 } 44 }, 0, 0); 45 46 Content = baseLayout; 47 } 48 } 49}

Gridをベースにして
・画像
・メインのコンテンツ
を張り付けてしまう、というやり方でどうでしょうか?

投稿2016/12/01 05:37

yakumomo

総合スコア12

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

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

ze_ze_ze

2016/12/01 06:10

回答ありがとうございます。 このやり方でやってみましたがデバイスによって背景が合わないように感じました。 画面いっぱいに合わせる方法はあるのでしょうか? もし分かるようでしたら教えてください。 よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問