android 二级下拉菜单简单demo

来源:互联网 发布:seo新手入门教程 编辑:程序博客网 时间:2024/05/29 04:04

activity:

package com.shrg.jackli.morelevelmenu;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    private String[] province = new String[] {"tab1", "tab2"};    private String[][] pandc = new String[][]{{"数据1","数据2","数据3","数据4"},{"数据a","数据b","数据c","数据d"}};    private ListView mListView;    private PopupWindow popupWindow;    private ListView pop_listView;    private int firstMenuIndex =0;    private TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv=(TextView)findViewById(R.id.tv);        mListView =(ListView)findViewById(R.id.listView);        mListView.setVisibility(View.GONE);        mListView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,province));        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                pop_listView.setAdapter(new ArrayAdapter<String>(MainActivity.this,                       android.R.layout.simple_list_item_1,pandc[position]));                firstMenuIndex = position;                popupWindow.showAsDropDown(mListView,view.getMeasuredWidth(),-mListView.getMeasuredHeight());            }        });        initPopupWindow();    }    private void initPopupWindow() {        pop_listView = (ListView)LayoutInflater.from(this).inflate(R.layout.popupwindow,null);        pop_listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                tv.setText(pandc[firstMenuIndex][position]);                popupWindow.dismiss();                mListView.setVisibility(View.GONE);            }        });        popupWindow = new PopupWindow(pop_listView, 150,                ViewGroup.LayoutParams.WRAP_CONTENT);        popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));        popupWindow.setFocusable(true);    }    public void showListMenu(View view)    {        if(View.VISIBLE == mListView.getVisibility())        {            mListView.setVisibility(View.GONE);        }        else        {            mListView.setVisibility(View.VISIBLE);        }    }}


 

activity_main:

 

<?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:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.shrg.jackli.morelevelmenu.MainActivity">    <LinearLayout        android:id="@+id/titlebar"        android:layout_marginLeft="10dp"        android:layout_marginRight="10dp"        android:layout_width="match_parent"        android:layout_height="40dp"        android:orientation="horizontal"        android:background="@android:color/black"        android:gravity="center_vertical">        <TextView            android:id="@+id/tv"            android:clickable="true"            android:layout_marginRight="10dp"            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="40dp"            android:onClick="showListMenu"            android:background="@android:color/white"            android:gravity="center"            android:textColor="@android:color/black"            android:text="功能"            />        <TextView            android:id="@+id/tv2"            android:clickable="true"            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="40dp"            android:onClick="showListMenu"            android:gravity="center"            android:textColor="@android:color/black"            android:background="@android:color/white"            android:text="光照"            />    </LinearLayout>    <ListView        android:layout_marginLeft="10dp"        android:id="@+id/listView"        android:background="@android:color/black"        android:layout_below="@id/titlebar"        android:layout_width="250dp"        android:layout_height="wrap_content"        ></ListView></RelativeLayout>

popwindow.xml:

<?xml version="1.0" encoding="utf-8"?><ListView xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/popu_listView"    android:layout_width="100dp"    android:background="@android:color/darker_gray"    android:layout_height="wrap_content"    android:layout_gravity="center_horizontal" />

效果图:

略:

0 0
原创粉丝点击