Xamarin/Visual studio for Mac:axml 文件未出现在 intellisense Class 文件中并在构建时抛出错误
Xamarin/Visual studio for Mac: axml file does not appear in intellisense Class file and throw error on build
大家好,我正在 Visual studio 上使用 C# 为 Mac/Xamarin 编写应用程序,我正在尝试将名为 "Dialog_SignUp" 的 axml 文件(布局)添加到我的 class 来调用它,但我不明白为什么我的 intellisense 无法识别它,当我尝试构建它时出现错误“资源布局不包含 [=38= 的定义] (CS0117)".
显然我的文件存在,它在文件夹 resource/layout/Dialog_SigbnUP.axml 上,所以我对 google 做了一些研究,但我发现什么都没有,或者我没有在 google.
上输入正确的关键词
希望有人能帮助我。谢谢。
我的ClassDialogSignUp.cs:
using System;
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Views;
using Android.Runtime;
namespace LoginSystem
{
public class DialogSignUp : DialogFragment
{
public DialogSignUp()
{
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.Dialog_SignUp, container, false);
return view;
}
}
}
我的ClassDialog_SignUp.axml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#DEDEDC"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="300dp"
android:minHeight="400dp">
<EditText
android:id="@+id/txtFirstName"
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="@drawable/edit_text_style"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="25dp"
android:hint="First Name"
android:paddingLeft="10dp"
android:textColor="#000" />
<EditText
android:layout_below="@id/txtFirstName"
android:inputType="textEmailAddress"
android:layout_width="match_parent"
android:layout_height="35dp"
android:id="@+id/txtEmail"
android:background="@drawable/edit_text_style"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:hint="Email"
android:paddingLeft="10dp"
android:textColor="#000" />
<EditText
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="35dp"
android:id="@+id/txtPassword"
android:background="@drawable/edit_text_style"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:hint="Password"
android:paddingLeft="10dp"
android:textColor="#000"
android:layout_below="@id/txtEmail" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtPassword"
android:layout_marginTop="50dp">
<Button
android:text="Sign Up!"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnDialogEmail"
android:textSize="20dp"
android:textColor="#fff"
android:textStyle="bold"
android:paddingLeft="5dp"
android:paddingBottom="5dp"
android:paddingRight="5dp"
android:height="70dp"
android:paddingTop="2dp"
android:background="@drawable/ButtonSignUpStyle"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp" />
</RelativeLayout>
</RelativeLayout>
在你那里,我会用 小写下划线 更改文件名,例如 "dialog_signup.axml"。理论上两种约定都应该是正确的,但我总是使用带下划线的小写字母。
其次,检查您的 .csproj 中是否包含文件。应该是这样的:
<AndroidResource Include="Resources\layout\dialog_signup.axml" />
或
<AndroidResource Include="Resources\layout\dialog_signup.axml">
<SubType>Designer</SubType>
</AndroidResource>
第三,检查Resource.designer.cs中是否有这样一行:
public const int dialog_signup = [int];
也许您只需要重新构建 Resource.designer.cs
大家好,我正在 Visual studio 上使用 C# 为 Mac/Xamarin 编写应用程序,我正在尝试将名为 "Dialog_SignUp" 的 axml 文件(布局)添加到我的 class 来调用它,但我不明白为什么我的 intellisense 无法识别它,当我尝试构建它时出现错误“资源布局不包含 [=38= 的定义] (CS0117)".
显然我的文件存在,它在文件夹 resource/layout/Dialog_SigbnUP.axml 上,所以我对 google 做了一些研究,但我发现什么都没有,或者我没有在 google.
上输入正确的关键词希望有人能帮助我。谢谢。
我的ClassDialogSignUp.cs:
using System;
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Views;
using Android.Runtime;
namespace LoginSystem
{
public class DialogSignUp : DialogFragment
{
public DialogSignUp()
{
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView(inflater, container, savedInstanceState);
var view = inflater.Inflate(Resource.Layout.Dialog_SignUp, container, false);
return view;
}
}
}
我的ClassDialog_SignUp.axml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#DEDEDC"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="300dp"
android:minHeight="400dp">
<EditText
android:id="@+id/txtFirstName"
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="@drawable/edit_text_style"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="25dp"
android:hint="First Name"
android:paddingLeft="10dp"
android:textColor="#000" />
<EditText
android:layout_below="@id/txtFirstName"
android:inputType="textEmailAddress"
android:layout_width="match_parent"
android:layout_height="35dp"
android:id="@+id/txtEmail"
android:background="@drawable/edit_text_style"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:hint="Email"
android:paddingLeft="10dp"
android:textColor="#000" />
<EditText
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="35dp"
android:id="@+id/txtPassword"
android:background="@drawable/edit_text_style"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:hint="Password"
android:paddingLeft="10dp"
android:textColor="#000"
android:layout_below="@id/txtEmail" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtPassword"
android:layout_marginTop="50dp">
<Button
android:text="Sign Up!"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnDialogEmail"
android:textSize="20dp"
android:textColor="#fff"
android:textStyle="bold"
android:paddingLeft="5dp"
android:paddingBottom="5dp"
android:paddingRight="5dp"
android:height="70dp"
android:paddingTop="2dp"
android:background="@drawable/ButtonSignUpStyle"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp" />
</RelativeLayout>
</RelativeLayout>
在你那里,我会用 小写下划线 更改文件名,例如 "dialog_signup.axml"。理论上两种约定都应该是正确的,但我总是使用带下划线的小写字母。
其次,检查您的 .csproj 中是否包含文件。应该是这样的:
<AndroidResource Include="Resources\layout\dialog_signup.axml" />
或
<AndroidResource Include="Resources\layout\dialog_signup.axml">
<SubType>Designer</SubType>
</AndroidResource>
第三,检查Resource.designer.cs中是否有这样一行:
public const int dialog_signup = [int];
也许您只需要重新构建 Resource.designer.cs