Android 当我在安卓系统中点击按钮时,如何显示按钮下方的喷丝头列表

Android 当我在安卓系统中点击按钮时,如何显示按钮下方的喷丝头列表,android,android-spinner,Android,Android Spinner,嗨,我是android新手,在我的应用程序中,我创建了一个按钮和一个文本视图 当我们点击我的按钮时,我想显示微调器列表,当我们选择任何一行时,我想在我的文本视图中显示该数据 为此,我写了下面的代码,但当我们点击按钮微调器时,按钮下方并没有显示 它像我下面的图像一样显示我想显示我按钮下面的列表,请帮助我 xml:- 活动类:- 公共类SpinnerList扩展了AppCompative活动{ 字符串[]喷丝头列表={“第一”、“第二”、“第三” }; 纺纱机; @凌驾 创建时受保护的void(

嗨,我是android新手,在我的应用程序中,我创建了一个按钮和一个文本视图

当我们点击我的按钮时,我想显示微调器列表,当我们选择任何一行时,我想在我的文本视图中显示该数据

为此,我写了下面的代码,但当我们点击按钮微调器时,按钮下方并没有显示

它像我下面的图像一样显示我想显示我按钮下面的列表,请帮助我

xml:-

活动类:-
公共类SpinnerList扩展了AppCompative活动{
字符串[]喷丝头列表={“第一”、“第二”、“第三”
};
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner\u布局);
微调器=(微调器)findViewById(R.id.spinner);
//为微调器创建适配器
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u spinner\u项目,spinnerList);
//下拉式布局样式-带单选按钮的列表视图
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
//将数据适配器连接到微调器
spinner.setAdapter(dataAdapter);
spinner.setVisibility(spinner.GONE);
}
公共作废点击按钮(查看){
spinner.performClick();
}

使用相对布局作为包装,而不是线性布局来有效地实现这一点。 您可以使用relativelayout指定微调器将严格保持在按钮下方
<Spinner
android:id="@+id/name_of_board_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:overlapAnchor="false"/>

如果我理解正确,您希望您的列表位于按钮下方。如果是,我建议您改用
PopupMenu

代码

PopupMenu popup = new PopupMenu(this, country /* your button */);
for (int i = 0; i < spinnerList.length; i++)
    popup.getMenu().add(1, i, i + 1, spinnerList[i]);
popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {

    @Override
    public boolean onMenuItemClick(MenuItem menuItem) {
        // perform your task
        return false;
    }
});
PopupMenu popup=新的PopupMenu(此,国家/地区/*您的按钮*/);
对于(int i=0;i
希望这能对你有所帮助。

给你:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:id="@+id/mainlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_toLeftOf="@id/imageViewplaces"
    android:orientation="horizontal"
    android:paddingBottom="15dp"
    android:paddingTop="15dp">

    <TextView
        android:id="@+id/title"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="title"
        android:textSize="20dp" />

</LinearLayout>


<Button
    android:id="@+id/imageViewplaces"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_marginTop="15dp"
    android:layout_marginRight="15dp"
    android:onClick="ClickButton"
    android:text="OK" />

<Spinner
    android:id="@+id/spinner"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageViewplaces"
    android:layout_alignParentRight="true"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
     />
</RelativeLayout>


由于按钮位于线性布局中,微调器无法获取其参考..将按钮置于线性布局之外是的,我将微调器列表保留在线性布局的下方,但仍然不工作我希望以相同的宽度精确显示按钮下方的微调器列表您希望微调器正确隐藏??还有一件事,而不是使用InviIBLE并使用align parent RIGHT使您的父布局相对布局hai@UMESH0492..我想您有一个注释特权,所以如果它不是答案,请评论它的用例..他想要隐藏itandroid:OverlapsAnchor=“false”…在底部创建下拉视图非常重要,显示异常,如错误:(13,34)找不到与给定名称匹配的资源(在'layout_toLeftOf'处,值为'@id/imageViewplaces')。您的按钮必须位于主布局之外。我们该怎么办?因为我将您的按钮移到了外部,文本视图必须与按钮的左侧对齐,所以我用我的按钮替换了您布局的全部代码。我的按钮正在工作
PopupMenu popup = new PopupMenu(this, country /* your button */);
for (int i = 0; i < spinnerList.length; i++)
    popup.getMenu().add(1, i, i + 1, spinnerList[i]);
popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {

    @Override
    public boolean onMenuItemClick(MenuItem menuItem) {
        // perform your task
        return false;
    }
});
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:id="@+id/mainlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_toLeftOf="@id/imageViewplaces"
    android:orientation="horizontal"
    android:paddingBottom="15dp"
    android:paddingTop="15dp">

    <TextView
        android:id="@+id/title"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="title"
        android:textSize="20dp" />

</LinearLayout>


<Button
    android:id="@+id/imageViewplaces"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_marginTop="15dp"
    android:layout_marginRight="15dp"
    android:onClick="ClickButton"
    android:text="OK" />

<Spinner
    android:id="@+id/spinner"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageViewplaces"
    android:layout_alignParentRight="true"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
     />
</RelativeLayout>