【问题标题】:c# Xamarin Changing UI inside c#c# Xamarin 在 c# 中更改 UI
【发布时间】:2016-04-10 19:43:37
【问题描述】:

我是编程新手,我试图制作一个带有 2 个选项卡的操作栏,我需要做的是,当单击第一个选项卡时出现 2 个按钮,我尝试使用 SetContentView(button);但这只是全屏显示一个按钮

问题:我需要它显示 2 个按钮而不是 1 个

代码:

private void Pudisoo_TabSelected1(object sender, ActionBar.TabEventArgs e)
    {
        Button btnon = new Button(this);
        btnon.Text = "ON";
        btnon.Click += Btnon_Click1;
        SetContentView(btnon);

        Button btnoff = new Button(this);   //<--- I can only see this button
        btnoff.Click += Btnoff_Click;
        SetContentView(btnoff);     //<--- Because of this

    }

【问题讨论】:

  • 你想让按钮出现在哪里?你能把你的代码发布到活动中吗?

标签: c# android user-interface button xamarin


【解决方案1】:

您尚未指定要将这些按钮显示给用户的位置;

SetContentView 方法用于通过“膨胀”布局文件来为活动创建视图。您应该通过此布局文件而不是在代码中创建大部分视图(例如按钮),特别是如果您不熟悉 C#、Android 或一般编程。

这里有一些 axml 可以帮助您入门:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:text="Button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnOff" />
    <Button
        android:text="Button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnOn" />
</LinearLayout>

以及您应该在Pudisoo_TabSelected1 方法中使用的代码:

private void Pudisoo_TabSelected1(object sender, ActionBar.TabEventArgs e)
{
    SetContentView(Resource.Layout.filenamehere);
    Button btnOn = FindViewById<Button> (Resource.Id.btnOn);
    Button btnOff = FindViewById<Button> (Resource.Id.btnOff);
    btnOff.Click += Btnoff_Click;
    btnOn.Click += Btnon_Click1;
}

尽管整个方法实际上是不正确的(您应该使用片段来实现此效果),但它至少会做您希望它做的事情,并且可以在您变得更舒服的同时作为起点。

【讨论】:

  • 非常感谢您,先生,您刚刚解决了我所有的问题并回答了我所有的问题。您的代码完美运行并且完全符合我的要求,我不在乎这是否是一种不正确的方法,因为我通常不进行 android 开发,我只需要创建一个带有几个按钮和选项卡的小型应用程序,再次非常感谢您。
  • 我还想指出,在您的第二个示例中,第 5 行需要使用“btnoff”而不是“btnOff”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
相关资源
最近更新 更多