开发手册 欢迎您!
软件开发者资料库

Xamarin - Multiscreen App

Xamarin Multiscreen应用程序 - 从简单和简单的步骤学习Xamarin,从基本到高级概念,包括安装,第一个应用程序,应用程序清单,Android资源,Android活动生命周期,权限,构建应用程序GUI,菜单,布局,Android小部件,Android对话框,图库,Andriod视图,多屏幕应用程序,部署您的应用程序。

在本章中,我们将创建一个允许用户注册的登录系统.然后,我们将在注册成功后将注册用户带到我们应用程序的主屏幕.

首先,创建一个新项目并将其命名为登录系统 .在您的新项目中,转到 main.axml 并添加两个按钮和一个进度条,如下所示.

                             

创建用户界面后,设置按钮的样式以使它们看起来更具吸引力非常重要.为此,请在 drawable文件夹下创建一个新的XML文件,并将该文件命名为 btnSignInStyle.xml .

在XML文件中,添加以下代码行 :

                                                                                                                                                                                                                                                                                                                                                                                                                                      

上面的代码设置了加载和点击时按钮的颜色,它还设置了按钮的边框半径.

接下来,我们为注册按钮创建与上面类似的样式XML.为此,在 drawable 文件夹下创建另一个XML并将其命名为 btnSignUpStyle.xml .它将继承 btnSignInStyle.xml 中的所有内容.唯一的区别是按钮的渐变开始和结束颜色.

btnSignUpStyle中更改 startColor endColor . xml

转到布局文件夹并创建一个新的AXML文件并将其命名为registerDailog.axml.此文件将包含我们应用中新用户的注册详细信息.该页面将包含三个 EditTexts 和一个用于提交数据的按钮.在线性布局代码中添加以下代码.

  

接下来,添加一个名为 signUpDialog.cs 的新类.该类将包含创建对话框所需的代码.以下示例显示了代码.

public class OnSignUpEvent:EventArgs {    private string myUserName;    private string myEmail;    private string myPassword;    public string UserName {       get {          return myUserName;       }       set{          myUserName = value;      }    }          public string Email {       get {          return myEmail;       }       set {          myEmail = value;       }    }          public string Password {       get {          return myPassword;       }       set {          myPassword = value;       }    }     public OnSignUpEvent(string username, string       email, string password):base() {       UserName = username;       Email = email;       Password = password;    }         class SignUpDialog:DialogFragment {       private EditText txtUsername;       private EditText txtEmail;       private EditText txtPassword;       private Button btnSaveSignUp;       public event EventHandler onSignUpComplete;       public override View OnCreateView(LayoutInflater inflater,          ViewGroup container, Bundle savedInstanceState) {          base.OnCreateView(inflater, container, savedInstanceState);                var view = inflater.Inflate(Resource.Layout.registerDialog, container, false);          txtUsername = view.FindViewById(Resource.Id.txtUsername);          txtEmail = view.FindViewById(Resource.Id.txtEmail);          txtPassword = view.FindViewById(Resource.Id.txtPassword);         btnSaveSignUp = view.FindViewById

在上面的代码中,我们使用了 get 设置属性. get 方法返回一个变量,而 set 方法为返回的变量赋值.这是一个例子 :

public string Color {    get {       return color;     }    set {       color = value;     } }

在前面的例子中,我们创建了一个覆盖视图的方法.在方法内部,我们创建了一个名为 view var ,它引用了布局文件夹中包含的 registerDialog.axml .

接下来,转到 mainActivity.cs 创建对话框片段.

private Button signUp; private Button submitNewUser; private EditText txtUsername; private EditText txtEmail; private EditText txtPassword; protected override void OnCreate(Bundle bundle) {    base.OnCreate(bundle);     SetContentView(Resource.Layout.Main);   signUp = FindViewById

上面的代码包含一个按钮点击事件,点击该事件会加载signUp对话框.在按钮单击内,我们创建了一个 SignUpDialog 类,它加载 registerDialog.axml 文件.

然后我们使用了 FragmentTransaction transFrag = FragmentManager.BeginTransaction(); 将我们的 registerDialog 页面显示为Android对话框片段.

我们是要添加另一个名为 home.axml .axml 文件.一旦用户成功登录系统,此布局将成为登陆屏幕.在这个布局中,我们将添加一个textview,如下面的代码所示.

接下来,我们创建一个名为 Activity2.cs 的最终活动.在此活动中,我们将使用 findViewById 找到 home.axml .

最后,构建并运行您的应用程序.它将显示以下屏幕作为输出.

Build App

js-sdk-pro.min.js">