




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Spinner怎么在Dialog中使用
Spinner怎么在Dialog中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面在下将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Spinner在Dialog中的使用,Dialog中关于view的xml布局。<?xml
version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
/>
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
/>
</LinearLayout>dialog初始化,加载,显示出来的完整代码(包含对Spinner进行Adapter设置)。private
void
showAlertDialog()
{
View
view
=
LayoutInflater.from(this).inflate(R.layout.dialog_add_notebook,
null);
Spinner
spinner
=
view.findViewById(R.id.spinner);
ArrayAdapter<String>
arrayAdapter
=
new
ArrayAdapter<>(this,
R.layout.simple_spinner_item,
android.R.id.text1,
categories);
spinner.setAdapter(arrayAdapter);
spinner.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener()
{
@Override
public
void
onItemSelected(AdapterView<?>
parent,
View
view,
int
position,
long
id)
{
Toast.makeText(MainActivity.this,
"选中的分类是:
"
+
categories.get(position),
Toast.LENGTH_LONG).show();
}
@Override
public
void
onNothingSelected(AdapterView<?>
parent)
{
}
});
new
AlertDialog.Builder(this)
.setTitle("提示")
.setView(view)
.setPositiveButton(android.R.string.ok,
new
DialogInterface.OnClickListener()
{
@Override
public
void
onClick(DialogInterface
dialog,
int
which)
{
dialog.dismiss();
}
})
.show();
}只能说spinner在dialog中,显示出来的效果一般般,即使通过自定义item布局,调整padding,感觉效果也不是特别让人满意。截张图:
在Github上找到一个不错的项目,/Lesilva/BetterSpinner。修改代码,替换为BetterSpinner。在app/build.gradle中添加compile‘com.weiwangcn.betterspinner:library:1.1.0'xml布局文件修改为:<?xml
version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:hint="@string/notebook_choose_notebook_hint"
/>
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
/>
</LinearLayout>显示dialog的方法调整为public
void
onClickedAddNotebook(final
String
parentNotebookId,
List<Notebook>
notebooks)
{
View
view
=
LayoutInflater.from(mActivity).inflate(R.layout.dialog_add_notebook,
null);
final
EditText
mEdit
=
(EditText)
view.findViewById(R.id.edit);
final
MaterialBetterSpinner
spinner
=
(MaterialBetterSpinner)
view.findViewById(R.id.spinner);
final
List<Notebook>
tempNotebooks
=
new
ArrayList<>();
tempNotebooks.clear();
tempNotebooks.addAll(notebooks);
Notebook
rootNoteBook
=
new
Notebook();
rootNoteBook.setTitle(mActivity.getString(R.string.notebook_default_root_notebook_title));
tempNotebooks.add(0,
rootNoteBook);
SpinnerArrayAdapter<Notebook>
adapter
=
new
SpinnerArrayAdapter<Notebook>(view.getContext(),
tempNotebooks)
{
@Override
public
String
itemToString(Notebook
item)
{
return
item.getTitle();
}
};
spinner.setAdapter(adapter);
spinner.setText(rootNoteBook.getTitle());
new
AlertDialog.Builder(mActivity)
.setTitle(R.string.add_notebook)
.setView(view)
.setPositiveButton(R.string.confirm,
new
DialogInterface.OnClickListener()
{
@Override
public
void
onClick(DialogInterface
dialog,
int
which)
{
dialog
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公对公借款合同合同协议
- 农业生产环保与生态平衡方案
- 化学方程式记忆技巧:化学方程式学习教案
- 工商变更股权转让协议
- 售后服务流程与响应时效统计表
- 医学资料 医疗类模版 学习课件
- 房地产开发借款合同
- 岩板背景墙的施工方案
- 学校校区房屋租赁合同
- 技术推广服务合同
- 2025年河北省职业院校技能大赛高职组(商务数据分析赛项)参考试题库(含答案)
- 秦朝文书课件
- DB32-T 2197-2022 水文自动测报系统数据传输规约
- 2025届高考生物一轮复习新考案-大单元11生物技术与工程微难点5pcr相关问题分析(人教版2019)
- 机床设备质量保证协议(2024版)3篇
- 律师业务档案管理办法-司律通字(1991)153号
- 五年级英语高频考点每日一练
- 2024年国网35条严重违章及其释义解读-知识培训
- 《阻燃材料与技术》课件 第4讲 阻燃剂性能与应用
- 中国电信5G NTN技术白皮书
- 新能源汽车三电系统知识详解
评论
0/150
提交评论