Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的应用程序中实现字段的附加字段之类的内容;名称“;在Android联系人中实现?_Android - Fatal编程技术网

如何在我的应用程序中实现字段的附加字段之类的内容;名称“;在Android联系人中实现?

如何在我的应用程序中实现字段的附加字段之类的内容;名称“;在Android联系人中实现?,android,Android,我想做类似的事情,在“添加新联系人”表单中实现 我想这样做,所以当用户单击右侧的“显示\隐藏”按钮时,会出现其他表单字段。它在原生Android联系人中是如何工作的?是带有适配器的ExpandableListView,还是只带有显示其他字段的OnClick操作的imagebutton?我怎样才能在我的应用程序中做到这一点 已更新 我的申请详情 我有一个xActivity,用户应该使用NumberPicker选择他想要添加到数据库中的学生数量。之后,应用程序将向表单显示用户之前选择的“瞳孔字段

我想做类似的事情,在“添加新联系人”表单中实现

我想这样做,所以当用户单击右侧的“显示\隐藏”按钮时,会出现其他表单字段。它在原生Android联系人中是如何工作的?是带有适配器的ExpandableListView,还是只带有显示其他字段的OnClick操作的imagebutton?我怎样才能在我的应用程序中做到这一点

已更新

我的申请详情

我有一个xActivity,用户应该使用NumberPicker选择他想要添加到数据库中的学生数量。之后,应用程序将向表单显示用户之前选择的“瞳孔字段”的数量。但每个学生字段都应该有详细信息,包括“姓名”、“姓氏”、“年龄”等字段

用户可以从1到10中选择一个数字


我现在所拥有的一切——一个NumberPicker,用户可以选择一个数字,但我只想以最好的方式向用户显示其他字段。我喜欢安卓联系人使用附加字段的方式,因此我认为我可以完全按照安卓联系人屏幕截图中的方式进行操作。实现您想要的行为的简单方法如下所述:

layout.xml
上,您将定义
ImageView
,该视图将包含所需的可绘制内容,以指示存在额外字段:

​<RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:id="@+id/edtName"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignRight="@+id/edtSurname"
        android:layout_alignEnd="@+id/edtSurname"/>

    <EditText
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:id="@+id/edtSurname"
        android:layout_below="@+id/edtName"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <EditText 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:id="@+id/edtEmail"
        android:layout_below="@+id/edtSurname"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:id="@+id/edtPhone"
        android:layout_below="@+id/edtEmail"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@android:drawable/ic_menu_more"
        android:layout_alignTop="@+id/edtName"
        android:layout_toRightOf="@+id/edtName"
        android:layout_toEndOf="@+id/edtName"
        android:onClick="expandOptions"/>
</RelativeLayout>

这个示例非常基本。我假设您在活动开始时加载所有隐藏的组件,但您可能更喜欢在用户按下展开按钮时动态膨胀额外的字段。您可能还需要控制字段在展开后是否需要,这取决于您。

编写一个函数来更改要隐藏/显示的组件的可见性似乎是最简单的方法。到目前为止,你编写了什么代码?@jmrodrigg我更新了我的帖子,详细介绍了我的问题。所以你们可以阅读我已经做了什么,我需要什么,我可以用这个解决方案添加一个选择器函数,当箭头的方向改变时,一旦展开或不展开吗?是的,你们可以。您可以使用指向相反方向的不同可绘制图形,或者,如果愿意,可以在imageview上编程动画:
public void expandOptions(View v) {
    if(isExpanded) {
        edtSurname.setVisibility(View.GONE);
        edtEmail.setVisibility(View.GONE);
        edtPhone.setVisibility(View.GONE);
    } else {
        edtSurname.setVisibility(View.VISIBLE);
        edtEmail.setVisibility(View.VISIBLE);
        edtPhone.setVisibility(View.VISIBLE);
    }

    isExpanded = !isExpanded;
}