Spinner
作为下拉选项列表 还是非常不错 且易用的 同时 也存在一些局限性 比如: 标题栏 下拉栏 显示内容必须一致 这使得其
实用性大打折扣
1. 先说说其不足之处 即: 标题 下拉 显示内容 相同问题:
* 定义待显示内容 以TextView为例:
String[] content = {
"eoe.android","eoe.mobile","eoe.mark","eoe.rd","eoe.mobile"
};
* 定义 CustomAdapter :
public class CustomAdapter extends BaseAdapter {
Activity activity;
public CustomAdapter(Activity a){
activity = a;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return content.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TextView tv = new TextView(activity);
tv.setText(content[position]);
tv.setTextSize(20);
return tv;
}
}
* emulator 运行效果 可以看出 标题 下拉 显示内容 是一样的
2. 使得 标题 下拉 二者显示内容不同
* 定义标题显示内容:title 下拉继续使用上面定义的content
String[] title = {
"0","1","2","3","4","5"
};
* 定义 CustomSpinnerAdapter:
public class CustomSpinnerAdapter implements SpinnerAdapter {
Activity activity;
public CustomSpinnerAdapter(Activity a){
activity = a;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
// TODO Auto-generated method stub
TextView tv = new TextView(activity);
tv.setText(content[position]);
tv.setTextSize(20);
tv.setTextColor(Color.RED);
return tv;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return content.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
return IGNORE_ITEM_VIEW_TYPE;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TextView tv = new TextView(activity);
tv.setText(title[position]);
tv.setTextColor(Color.GREEN);
return tv;
}
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return content.length;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
}
* emulator 运行截图 注意二者的不同显示
分享到:
相关推荐
NiceSpinner是一个增强版的Spinner,它不仅提供了基本的下拉选择功能,还增加了诸如点击触发、条件筛选等高级特性,极大地提升了用户体验。 首先,我们要理解Spinner的基本概念。Spinner是Android原生的一种下拉...
总的来说,“超洁净版支持小数的spinner微调器”是一个针对Android原生Spinner的定制化组件,它通过增加小数支持和优化交互体验,提升了用户在选择数值时的便捷性和准确性,是开发者在需要精确数值输入场景下的一个...
MemorySpinner解决了这个问题,通过保存用户的选择记录,并在下次使用时自动加载,使得Spinner能够显示用户的历史选择,增强了应用的个性化和用户交互性。 该项目的核心功能可能包括以下几个方面: 1. **历史记录...
"DropView.rar_android_android Spinner_heatlme" 提供了一个定制化的解决方案,它是一个针对Android平台的自定义下拉列表,作为原生Spinner的增强版,旨在提升用户界面的美观度和交互性。 首先,让我们深入理解...
7. **扩展性**:通过扩展和子类化,开发者可以进一步定制按钮的行为和外观,比如添加自定义视图、改变点击事件处理等。 8. **文档和示例**:SSSpinnerButton通常会提供详细的API文档和示例代码,帮助开发者快速理解...
总之,“spinner.rar”提供的自定义Spinner实现,通过增强用户交互和自适应布局,提升了Android应用的用户体验。对于Android开发者来说,理解并学习这样的自定义组件设计思路,可以帮助他们更好地满足项目需求,打造...
BetterSpinner是Android中一个流行的开源库,它扩展了原生的Spinner控件,增加了更多的定制选项和更好的视觉效果。以下是对BetterSpinner的一些关键知识点的详细解释: 1. **样式定制**: BetterSpinner允许开发者...
【描述】进一步强调了这个组件的目标,即提供一种方法来替换Discourse默认的加载旋转图标,让用户可以根据自己的品牌风格或者个人喜好定制这个图标,提升用户体验的同时,也能更好地体现网站的个性化。 【标签】...
此外,还可以为特定组件设置样式,增强UI的个性化。 6. **响应式设计** 考虑到Android设备的屏幕尺寸和分辨率差异,设置页面的UI设计应具备良好的响应性。使用`dimens.xml`文件定义不同屏幕尺寸下的尺寸资源,以及...
因此,`MangerTiem`可能是对这些原生组件的一个增强版,增加了更多的定制化选项。 2. **自定义视图**:为了实现这种细化的时间选择,开发者可能创建了一个自定义的视图控件,该控件可能包含多个`Spinner`(下拉菜单...
`NiceSpinner`是基于原生Android Spinner的一个增强版,为开发者提供了一种更加美观和交互友好的方式来展示下拉菜单。`NiceSpinner`的核心特性是其右侧的箭头图标,它可以动态地在展开和折叠状态之间切换,增加了...
开发者可以通过设置Toolbar作为Activity的ActionBar,实现高度定制化的顶部栏。 3. **Material Design Components**:AppCompat-v7-28.0.0在一定程度上引入了Material Design的设计元素,如颜色主题、过渡动画、...
"Android-CircularProgressIndicator"是一个专为Android设计的可定制的循环进度指示器库,它提供了一种优雅的方式来显示进度,增强了用户的视觉体验。 该 CircularProgressIndicator 控件允许开发者自定义多种属性...
随着Android版本的更新,ActionBar的功能也在不断扩展和优化,为开发者提供了更多定制化和增强用户体验的可能性。本篇文章将深入探讨“android actionbar 新增功能”,并结合提供的“ActionBarTest”代码示例,解析...
1. **可定制化**:"android-wheel"允许开发者自定义显示的项,可以设置字体、颜色、大小以及样式,以适应不同的UI设计需求。 2. **多列支持**:控件支持多列展示,比如在日期选择中,可以同时显示年、月、日三列,...
这包括主题颜色、浮动按钮(FloatingActionButton)、开关(SwitchCompat)、滑动选择器(Spinner)等,以及动画效果如ripple效果和过渡动画。 3. **ToolBar** appcompat_v7库引入了Toolbar,它是ActionBar的一个...
除了上述特性,`appcompat-v7`库还包括了Spinner、TabLayout、CardView、RecyclerView等组件的兼容实现,使得开发者能够在旧版本Android设备上使用这些现代化的UI组件。 总的来说,`android-support-v7-appcompat`...
- **高度定制性**:开发者可以通过修改组件的外观来实现个性化的界面设计。 - **易于使用**:即使对于初学者来说,Swing 也非常友好,提供了直观的 API 和文档。 #### 二、Swing 第三版新增功能 - **拖放(Drag ...
虽然jQuery Spin Button插件通常具有良好的浏览器兼容性,但为了确保在所有现代和旧版浏览器中正常工作,建议测试并进行必要的调整。此外,考虑在移动设备上优化触摸事件,以提供更好的用户体验。 总之,jQuery ...
它是`Date`类的增强版本,支持国际化和时区处理。 2. **Joda-Time库**: - Joda-Time是Java的一个流行的时间处理库,它提供了更丰富的API和更好的设计。在Java 8之前,许多开发者选择使用Joda-Time,因为它比Java...