`
暴风雪
  • 浏览: 387911 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[Android学习]通过dialog模拟spinner,并在底部加上EditText

阅读更多

lz先去喝一碗热翔……

 

国庆前分配的一个囧任务,要自定义一个spinner,并且在spinner下面加上一个用于搜索的EditText。大概效果如下


 

    这个spinner真心太奇葩,同学给的资料 http://t.cn/zlWKruo 怪我太弱逼一点都没看懂。后来各种自定义spinner没法做之后决定使用dialog来模拟spinner。

 

然后连着跪了一上午,终于找到了一个解决办法就是,用setItems函数来制作一个spinner,并在底部用setView加上一个TableLayout~~

 

大牛们鄙视我吧,我还是太弱了

 

献上弱代码

package com.example.dialogact;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends Activity {
    Button button;
    String[] num={"1","2","3","4","5","6","7","8"};
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        button=(Button)findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub

				LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this); 
		        View myLoginView = layoutInflater.inflate(R.layout.dlg, null); 
                new AlertDialog.Builder(MainActivity.this)
                .setTitle("选择")
                .setItems(num, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        button.setText(num[which]);
                    Toast info =Toast.makeText(MainActivity.this, num[which],Toast.LENGTH_LONG);
                        info.setMargin(0.0f, 0.3f);
                        info.show();
                    }
                }
                )
                .setView(myLoginView).create().show();
				
			}
        	
        });
    
    }
}

 

Avtivity的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
             <Button
             android:id="@+id/button"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="xx"
             android:layout_weight="1"
             ></Button>
</LinearLayout>

 

dialog的布局文件dlg.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <TableRow>
        <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="搜索:"
             android:textSize="30dp"
             android:layout_weight="1"
             />
        
             <EditText
             android:id="@+id/text1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             />
      </TableRow>>
</TableLayout>

 实现的效果


 

  • 大小: 19.4 KB
  • 大小: 27.7 KB
1
1
分享到:
评论

相关推荐

    Android中常见的弹框:Spinner、Dialog、PopupMenu、PopupWindow

    本文将深入探讨Android中的四种常见弹框:Spinner、Dialog、PopupMenu和PopupWindow,以及它们的基本使用方法。 首先,Spinner是Android系统提供的一种下拉选择框,通常用于在有限的选项中进行选择。它可以直接嵌入...

    自定义Spinner--利用TextView以及Dialog组合

    在Android开发中,Spinner是一种常见的UI组件,它用于在下拉菜单中展示一系列选项供用户选择。本教程将深入探讨如何实现一个自定义的Spinner,该Spinner是通过结合TextView和Dialog来创建的,以提供更灵活和个性化的...

    Spinner在Dialog中的使用效果实例代码详解

    本文将详细介绍 Spinner 在 Dialog 中的使用效果,通过实例代码进行详细的讲解,并提供了一个完整的示例代码,帮助读者更好地理解 Spinner 在 Dialog 中的应用。 一、Dialog 中使用 Spinner 的必要性 在 Android ...

    Android 下拉列表 可手动输入

    在Android开发中,下拉列表(Spinner)是一种常见的UI组件,它允许用户在一组预定义选项中进行选择。然而,通常的Spinner并不支持用户输入自定义值。在某些场景下,用户可能希望在下拉列表中输入自己的内容,而不是...

    Android对话框dialog大全(代码直接可用).pdf

    创建这种对话框,你需要在Builder中添加更多的组件,例如EditText、Spinner等,并处理相应的用户输入。 **图3**:进度对话框,用于表示后台任务的进度。可以使用ProgressDialog或自定义的DialogFragment实现。 **...

    Android应用开发学习代码集合,基于AndroidStudio

    介绍 学习Android开发的代码,基于AndroidStudio View_Demo是Android基础控件和布局,包括TextView,Edittext,ImageView,Button,RadioButton,Checkbox,ProgressBar和拖动条。 Adapter_Demo 是Adapter相关的代码...

    Spinner_Demo

    - 使用`android:prompt`属性可以设置Spinner的提示文本,它在Dialog模式下作为对话框的标题,在Dropdown模式下显示为空白。 - 自定义Spinner的外观,可以通过设置主题、自定义控件样式或自定义适配器中的视图来...

    Android自定义对话框

    在Android开发中,自定义对话框(Custom Dialog)是一种常用的技术,用于向用户展示重要的信息或者获取用户的输入。对话框通常以悬浮窗口的形式出现在当前活动(Activity)之上,吸引用户的注意力,而不会改变应用...

    安卓Android源码——MockDialogSample.rar

    MockDialogSample可能包含如何在Dialog中添加EditText、Spinner等控件,以及如何处理它们的输入事件。 9. **测试Dialog**:在MockDialogSample中,可能还涉及到对Dialog进行单元测试和UI测试的方法,这对于确保...

    Android应用开发完全自学手册

    这本书旨在帮助初学者系统地学习并掌握Android应用的开发技能,通过源代码解析来提升实践能力。 第1章:Android开发基础 在这一章中,读者将学习Android开发的基本概念和环境搭建,包括安装Android Studio IDE、...

    Android基础笔记

    2005 年,Google 收购了 Android 公司,并在 2008 年发布了 Android 1.0 版本。自此,Android 版本不断更新,功能不断完善。 二、布局 Android 布局是 Android 应用的基础组件之一,用于描述用户界面的结构和布局...

    Android 自定义可编辑下拉框

    "Android 自定义可编辑下拉框"是一个常见的需求,特别是在创建表单或者需要用户输入并选择特定值时。本教程将深入探讨如何实现这样一个功能,并提供已优化的代码和界面设计。 首先,我们来理解下拉框(Spinner)的...

    事件监听器-EditText的事件监听

    事件监听器是Android开发中的重要概念,用于捕捉和响应用户在界面上的各种交互操作。在Android中,事件监听器主要用于处理UI控件的点击、触摸、键盘输入等事件。本篇将详细介绍EditText的事件监听。 首先,我们来看...

    android入门UI组件学习Demo

    本示例项目"android入门UI组件学习Demo"旨在帮助初学者了解并实践这些组件的使用,从而快速掌握Android应用开发的基础。通过这个项目,你可以看到各种UI组件的实际应用,以及一些基本的程序逻辑实现,例如安全退出...

    Android 内部培训课程

    学习Activity的开发不仅包括界面设计,还涉及UI组件的使用,如TextView、EditText、Button、CheckBox、RadioGroup、Spinner、ListView、GridView、Gallery、PopupWindow、Menu和Dialog等。同时,课程还会教授如何...

    Android---UI篇

    •Android---UI篇---Spinner(下拉列表) • •Android---UI篇---TabWidget(切换卡) • •Android---UI篇---LinearLayout(线性布局) • •Android---UI篇---WebView(网络视图) • •Andorid---UI篇---两种进度条...

    android开发揭秘PDF

    4.2.4 编辑框(EditText) 4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动提示(AutoComplete.TextⅥew) 4.2.9 日期和时间(DatePicker、TimePicker) 4.2.10 ...

    Android-用于购物车添加或者减少按钮点击弹窗选择按钮

    4. **数量选择器**: 在弹窗内,创建一个数量选择器(比如两个Spinner,分别代表加减,或者一个EditText配合两个按钮)。可以使用Android的NumberPicker控件,或者自定义视图来实现。 5. **数据绑定和状态更新**: 当...

    Android 所有的控件使用代码

    在Android开发中,掌握各种控件的使用是至关重要的,因为它们构成了用户界面的基本元素,提供了与用户交互的途径。本篇文章将详细讲解如何通过代码实现Android中的所有控件使用,帮助你通过一个实例了解各个控件的...

Global site tag (gtag.js) - Google Analytics