Android: Change Spinner Dropdown view

前端 未结 6 1155
轻奢々
轻奢々 2021-01-04 23:11

Im My application I want the below type of Spinner Dropdown view .\"enter For this type of spi

6条回答
  •  [愿得一人]
    2021-01-04 23:35

    You can use popup like below:

               spinner=(EditText)findViewById(R.id.txt_Spinner);
    
    
            spinner.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
    
                    p = new Point();
                    p.x = location[0]+(v.getHeight());
                    p.y = location[1]+v.getHeight();
    
                    if (p != null)
                        showPopup(statusActivity.this, p);
    
                    System.out.println("show popup");
                }
            });
    
    
    
    
        // The method that displays the popup.
        private void showPopup(final Activity context, Point p) {
            int popupWidth = 300;
            int popupHeight = 500;
    
            // Inflate the popup_layout.xml
            LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.popup);
            LayoutInflater layoutInflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = layoutInflater.inflate(R.layout.popup_layout, viewGroup);
    
            // Creating the PopupWindow
            popup = new PopupWindow(context);
            popup.setContentView(layout);
            popup.setWidth(popupWidth);
            popup.setHeight(popupHeight);
            popup.setFocusable(true);
    
            // Some offset to align the popup a bit to the right, and a bit down, relative to button's position.
            int OFFSET_X = 00;
            int OFFSET_Y = 00;
    
            // Clear the default translucent background
            popup.setBackgroundDrawable(new BitmapDrawable());
    
            // Displaying the popup at the specified location, + offsets.
            popup.showAtLocation(layout, Gravity.NO_GRAVITY, p.x + OFFSET_X, p.y + OFFSET_Y);
            ((TextView)layout.findViewById(R.id.textView2)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView3)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView4)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView5)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView6)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView7)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView8)).setClickable(true);
            ((TextView)layout.findViewById(R.id.textView9)).setClickable(true);
    
        }
    
    and popup.xml
    
        
    
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
    
    

提交回复
热议问题