【问题标题】:How do I Add an EditText Dynamically to xamarin android如何将 EditText 动态添加到 xamarin android
【发布时间】:2016-08-30 11:28:36
【问题描述】:

XAMARIN ANDROID DYNAMIC CLICK:我希望将微调器、编辑文本和正按钮并排放置,以便当任何用户单击该按钮时,它会重新生成相同的内容(微调器、编辑文本和负按钮)和每次点击正面按钮都会发生同样的事情,而每次点击负面按钮都会删除负面按钮所在的内容。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layoutTeste"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Spinner
        android:id="@+id/spn"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@id/et" />
    <EditText
        android:id="@+id/et"
        android:layout_height="wrap_content"
        android:layout_width="200dp"
        android:hint="Enter a Value"
        android:layout_gravity="center"
        android:layout_marginLeft="70dp" />
    <Button
        android:id="@+id/btnDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btnDisplay"
        android:layout_alignParentRight="true"
        android:layout_alignBaseline="@id/et" />
</RelativeLayout>

【问题讨论】:

    标签: android xamarin visual-studio-2015 xamarin.android xamarin.forms


    【解决方案1】:

    您可以根据需要以编程方式在 xamarin android 中动态创建视图。

    举例

    LinearLayout LL = FindViewById<LinearLayout(Resource.Id.Linear_MS); //root layout
    var param = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent);
            param.SetMargins(20, 20, 20, 10);
    var et = new EditText(this);
    LL.AddView(et, param);
    

    在 Xml 并排设计中使用这个。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/layoutTeste"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout
            android:id="@+id/ll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="3">
        <Spinner
            android:id="@+id/spn"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_alignParentLeft="true"
            android:layout_weight="1"
            android:layout_alignTop="@id/et" />
        <EditText
            android:id="@+id/et"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:hint="Enter a Value"
            android:layout_gravity="center"
            android:layout_weight="1"
             />
        <Button
            android:id="@+id/btnDisplay"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/btnDisplay"
            android:layout_weight="1"
          />
        </LinearLayout>
    </RelativeLayout>
    

    【讨论】:

    • 非常感谢,但是,如果我希望通过单击按钮添加编辑文本怎么办?并且每次添加新的edittext时,旁边都会出现一个按钮,用于添加另一个edittext,而旧按钮会消失
    • 您只需在按钮单击事件中添加此代码。 btn.Click += delegate (object sender, EventArgs e) { }
    • 您只需要按钮作为静态和动态编辑文本创建单独的线性布局来保存所有编辑文本。
    • 很抱歉打扰您Mohamed Mohaideen AH,但这是我试图通过单击一个按钮重新生成多次的代码:请查找,我的代码已重新编辑。谢谢
    • 不仅编辑文本,而且微调器和否定按钮应在同一行生成。请
    猜你喜欢
    • 2021-01-28
    • 2017-06-20
    • 1970-01-01
    • 2019-11-12
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2012-06-15
    相关资源
    最近更新 更多