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

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

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

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

Q&A

解決済

1回答

3597閲覧

Xamarin.androidでのAbsoluteLayoutの使用方法

M.inose

総合スコア17

Xamarin

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

0グッド

0クリップ

投稿2017/03/13 08:52

###前提・実現したいこと

Xamarin.androidでアプリケーションを作成しています。
コントロールの配置位置(x,y)のdp値で上位から指定されるため、レイアウトにAbsoluteLayoutを使用したいと思っています。

そこで、まずはAbsoluteLayoutがXamarin.androidで使用できるか確認するため、Main.axmlに以下の様にコードを
記述しました。

ところが、配置位置(x,y)を指定する
android:layout_x ="10dp"
android:layout_y ="10dp"
が以下のエラーとなってしまいます。

nativeのandroidでは、使用できる様なのですが
Xamarin.androidでは、AbsoluteLayoutは使用できないのでしょうか?

皆様にご教示いただきたく、よろしくお願い申し上げます。

###発生している問題・エラーメッセージ

http://schemas.android.com/apk/res/android:layout_x属性が宣言されていません。 http://schemas.android.com/apk/res/android:layout_y属性が宣言されていません。

###該当のソースコード

<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/MyButton" android:layout_width="100dp" android:layout_height="100dp" android:background="#FFFFFFFF" android:text="ボタン" android:layout_x ="10dp" android:layout_y ="10dp" /> </AbsoluteLayout>

###補足情報(言語/FW/ツール等のバージョンなど)

開発環境
Visual studio 2015
Xamain 4.3.0.784
Xamain.Android 7.1.0.41
Android SDK Tools 25.2.5
Android API 6.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

Visual Studio for Mac ですが、特にそういう問題は発生してませんね。
Xamarin.Android でも AbsoluteLayout は使えるはずです(nativeのandroidでも非推奨ではありますが)。

以下のような axml ですが、正常に表示できています。質問者さんのとそんなに違いは見当たらないですね。

<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/MyButton" android:layout_width="100dp" android:layout_height="100dp" android:background="#FFFFFFFF" android:text="ボタン" android:layout_x="30dp" android:layout_y="50dp" /> </AbsoluteLayout>

投稿2017/03/13 17:04

amay077

総合スコア1075

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

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

M.inose

2017/03/14 01:45

amay077様 早々に、ご回答いただき大変にありがとうございます。 amay077様のご回答どおりMain.axmlを修正(コピペ)しました。 しかしながら android:layout_x="30dp" android:layout_y="50dp" の箇所でやはり、下記のエラーが表示されてしまいます。 http://schemas.android.com/apk/res/android:layout_x属性が宣言されていません。 http://schemas.android.com/apk/res/android:layout_y属性が宣言されていません。 属性を宣言する箇所がプロジェクトにあるのでしょうか? プロジェクトテンプレートはVisual C#->Android->空のアプリ(Android) で作成しております。 すみません、よろしくお願いいたします。
M.inose

2017/03/14 04:16

amay007様と同じVisual Studio for Macではご指摘の記述で、エラーが発生せず正常に表示されました。 今回はVisual Studio 2015での開発が必修ですので、Visual Studio 2015との違いで、何かご教示いただけることがあれば、よろしくお願い致します。
M.inose

2017/03/14 05:26

解決できました。 Main.axmlのコード編集時には、”属性が宣言されていません。”とエラーが出力されていたのですが Designer表示にして再度コード編集に戻ると、エラー表示が無くなりました。 リビルドして実行すると、正常に表示されました。 ”Xamarin.AndroidでもAbsoluteLayout は使えるはずです。”と回答していただいた amay007様、大変にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問