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
分享到:
相关推荐
本文将深入探讨Android中的四种常见弹框:Spinner、Dialog、PopupMenu和PopupWindow,以及它们的基本使用方法。 首先,Spinner是Android系统提供的一种下拉选择框,通常用于在有限的选项中进行选择。它可以直接嵌入...
在Android开发中,Spinner是一种常见的UI组件,它用于在下拉菜单中展示一系列选项供用户选择。本教程将深入探讨如何实现一个自定义的Spinner,该Spinner是通过结合TextView和Dialog来创建的,以提供更灵活和个性化的...
本文将详细介绍 Spinner 在 Dialog 中的使用效果,通过实例代码进行详细的讲解,并提供了一个完整的示例代码,帮助读者更好地理解 Spinner 在 Dialog 中的应用。 一、Dialog 中使用 Spinner 的必要性 在 Android ...
在Android开发中,下拉列表(Spinner)是一种常见的UI组件,它允许用户在一组预定义选项中进行选择。然而,通常的Spinner并不支持用户输入自定义值。在某些场景下,用户可能希望在下拉列表中输入自己的内容,而不是...
创建这种对话框,你需要在Builder中添加更多的组件,例如EditText、Spinner等,并处理相应的用户输入。 **图3**:进度对话框,用于表示后台任务的进度。可以使用ProgressDialog或自定义的DialogFragment实现。 **...
介绍 学习Android开发的代码,基于AndroidStudio View_Demo是Android基础控件和布局,包括TextView,Edittext,ImageView,Button,RadioButton,Checkbox,ProgressBar和拖动条。 Adapter_Demo 是Adapter相关的代码...
- 使用`android:prompt`属性可以设置Spinner的提示文本,它在Dialog模式下作为对话框的标题,在Dropdown模式下显示为空白。 - 自定义Spinner的外观,可以通过设置主题、自定义控件样式或自定义适配器中的视图来...
在Android开发中,自定义对话框(Custom Dialog)是一种常用的技术,用于向用户展示重要的信息或者获取用户的输入。对话框通常以悬浮窗口的形式出现在当前活动(Activity)之上,吸引用户的注意力,而不会改变应用...
MockDialogSample可能包含如何在Dialog中添加EditText、Spinner等控件,以及如何处理它们的输入事件。 9. **测试Dialog**:在MockDialogSample中,可能还涉及到对Dialog进行单元测试和UI测试的方法,这对于确保...
这本书旨在帮助初学者系统地学习并掌握Android应用的开发技能,通过源代码解析来提升实践能力。 第1章:Android开发基础 在这一章中,读者将学习Android开发的基本概念和环境搭建,包括安装Android Studio IDE、...
2005 年,Google 收购了 Android 公司,并在 2008 年发布了 Android 1.0 版本。自此,Android 版本不断更新,功能不断完善。 二、布局 Android 布局是 Android 应用的基础组件之一,用于描述用户界面的结构和布局...
在Android应用开发中,构建用户界面是至关重要的一步,它涉及到与用户交互的各种控件。以下是对Android中常见控件的详细解释: 1. **文本框(TextView)**:TextView用于展示静态文本,可以在Activity中直接创建...
"Android 自定义可编辑下拉框"是一个常见的需求,特别是在创建表单或者需要用户输入并选择特定值时。本教程将深入探讨如何实现这样一个功能,并提供已优化的代码和界面设计。 首先,我们来理解下拉框(Spinner)的...
事件监听器是Android开发中的重要概念,用于捕捉和响应用户在界面上的各种交互操作。在Android中,事件监听器主要用于处理UI控件的点击、触摸、键盘输入等事件。本篇将详细介绍EditText的事件监听。 首先,我们来看...
本示例项目"android入门UI组件学习Demo"旨在帮助初学者了解并实践这些组件的使用,从而快速掌握Android应用开发的基础。通过这个项目,你可以看到各种UI组件的实际应用,以及一些基本的程序逻辑实现,例如安全退出...
学习Activity的开发不仅包括界面设计,还涉及UI组件的使用,如TextView、EditText、Button、CheckBox、RadioGroup、Spinner、ListView、GridView、Gallery、PopupWindow、Menu和Dialog等。同时,课程还会教授如何...
•Android---UI篇---Spinner(下拉列表) • •Android---UI篇---TabWidget(切换卡) • •Android---UI篇---LinearLayout(线性布局) • •Android---UI篇---WebView(网络视图) • •Andorid---UI篇---两种进度条...
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 ...
4. **数量选择器**: 在弹窗内,创建一个数量选择器(比如两个Spinner,分别代表加减,或者一个EditText配合两个按钮)。可以使用Android的NumberPicker控件,或者自定义视图来实现。 5. **数据绑定和状态更新**: 当...
在Android开发中,掌握各种控件的使用是至关重要的,因为它们构成了用户界面的基本元素,提供了与用户交互的途径。本篇文章将详细讲解如何通过代码实现Android中的所有控件使用,帮助你通过一个实例了解各个控件的...