ScrollView 與ListView的下來條都顯示,而且ListView內容顯示比較丑.google后有個方法是:
先動態生成其他的view 然后listview.addHeaderView(View header),這樣子可以實現.
實踐一下,ok.代碼如下:
Querstion:要是一個ScrollView下有多個ListView該么辦呢?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//生成頭
View header=LayoutInflater.from(this).inflate(R.layout.appitem, null);
header.setFocusable(false);
this.getListView().addHeaderView(header);//加頭
// this.setContentView(R.layout.appitem);
// LinearLayout tr = (LinearLayout) header.findViewById(R.id.appitem_llout);
this.getListView().setBackgroundColor(Color.argb(150, 22, 70, 150));//設置背景色
String appname = null;
if (null != this.getIntent()) {
appname = this.getIntent().getStringExtra("appId");
}
App item = AppDataManage.findAppByAppId(appname);
if(null !=item){
//begin add by eric 2009/07/23
fileSize = (TextView)header.findViewById(R.id.appitem_fileSize);
fileSize.setText(SingleApplication.nfcstore
.getResources().getString(R.string.fileSize)+":"+item.getAppSize() +" "+ item.getAppSizeUnit());
version = (TextView)header.findViewById(R.id.appitem_version);
version.setText(SingleApplication.nfcstore
.getResources().getString(R.string.version)+":"+item.getVersion());
languageEnvironment = (TextView) header.findViewById(R.id.appitem_lanuguage);
languageEnvironment.setText(SingleApplication.nfcstore
.getResources().getString(R.string.language)+":"+item.getLanguageEnvironment());
runEnvironment = (TextView) header.findViewById(R.id.appitem_runenv);
languageEnvironment.setText(SingleApplication.nfcstore
.getResources().getString(R.string.run_env)+":"+item.getRunEnvironment());
description = (TextView)header.findViewById(R.id.appitem_description);
description.setText(item.getDescription()==null?"無":item.getDescription());
authorEmail = (TextView)header.findViewById(R.id.appitem_devloperEmail);
authorEmail.setText(item.getAuthorEmail());
//end by eric 2009/07/23
appName = (TextView) header.findViewById(R.id.appitem_appName);
author =(TextView)header.findViewById(R.id.appitem_author);
downloadNum =(TextView)header.findViewById(R.id.appitem_downloadNum);
uploadTime =(TextView)header.findViewById(R.id.appitem_uploadTime);
price =(TextView)header.findViewById(R.id.appitem_price);
grade = (RatingBar) header.findViewById(R.id.appitem_ratingBar);
imgv = (ImageView) header.findViewById(R.id.appitem_img);
imgv.setImageDrawable(header.getResources().getDrawable(AppDataManage.findImageId(item.getImageUrl())));
appName.setText(item.getAppName());
author.setText(item.getAuthor());
downloadNum.setText(AppDataManage.DOWNLOAD+item.getDownloadNum());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
uploadTime.setText(AppDataManage.UPLOAD_TIME+sdf.format(item.getUploadTime()));
grade.setNumStars(5);
grade.setRating(item.getGrade());
Log.d("AppItemActivity","ratingbar grade:"+item.getGrade());
if(item.isFree())
price.setText("免費");
else
price.setText(item.getUnit()+" "+item.getCharge());
GROUP_FREE_MENU_VISIBLE = (!item.isInstalled()) && item.isFree();
GROUP_CHARGE_MENU_VISIBLE = (!item.isInstalled()) && (!item.isFree());
GROUP_INSTALLED_MENU_VISIBLE = item.isInstalled();
gallery = (Gallery) header.findViewById(R.id.appitem_gallery);
gallery.setAdapter(new ImageAdapter(this));
AppCommentAdapter cmadapter = new AppCommentAdapter(this);
cmadapter.setMData(AppDataManage.getCommentData(item));
this.setListAdapter(cmadapter);
}
}
分享到:
相关推荐
在Android开发中,ScrollView和ListView是...总的来说,处理ScrollView和ListView的嵌套问题需要对Android布局有深入理解,同时也要关注性能和用户体验。合理的设计和优化能够帮助我们构建出流畅、功能完善的移动应用。
在Android开发中,ScrollView与ListView的组合使用是一个常见的需求,特别是在设计有滚动内容的界面时。然而,这种组合经常会遇到一些技术挑战,尤其是在实现下拉上拉刷新功能时。本篇将深入探讨如何解决ScrollView...
然而,当在一个ScrollView中嵌套一个ListView时,就会出现一些特殊的问题,主要是关于滑动事件的处理,即所谓的“滑动冲突”。 首先,我们要理解滑动冲突的本质。当ScrollView和ListView同时存在于同一个布局中,...
最近写了一个ScrollView中嵌套ListView实现下拉刷新的Demo, 相关blog 为: http://blog.csdn.net/u013015161/article/details/45680037
当用户下拉时,SwipeRefreshLayout的指示器(通常是一个旋转的刷新动画)会显示出来,而当我们完成后台数据刷新后,通过调用setRefreshing(false)方法来停止刷新动画。 接下来,我们讨论如何在ListView和GridView中...
本文将深入探讨如何在ScrollView中嵌套ListView并实现下拉刷新。 首先,我们来了解下ScrollView和ListView的基本概念。ScrollView是Android提供的一个可以容纳单个可滚动视图的容器,它允许用户滚动其内容以查看...
这种布局方式通常被称为嵌套滚动,而这里的主题是“嵌套ListView的ScrollView实现上拉和下拉”。这涉及到自定义View的知识,以及如何处理触摸事件和滚动事件。以下是关于这个主题的详细解释: 1. **嵌套滚动**: 当...
本示例中的"scrollView嵌套ListView的下拉刷新和加载更多"着重解决了这样一个问题:如何在ScrollView中嵌入一个具有下拉刷新和上拉加载功能的ListView,而且不依赖任何第三方库。这通常涉及到自定义滚动事件的处理和...
总结来说,Android中的ScrollView、ListView和GridView上拉下拉刷新功能的实现涉及到自定义视图、滑动事件监听、数据加载逻辑和缓冲效果优化。熟练掌握这些技术,能有效提升应用的用户体验,使用户在浏览大量数据时...
项目需要,特地查看了Android事件拦截机制,实现了ScrollView嵌套ListView,通过重写ScrollView的onInterceptTouchEvent()方法,同时支持动态设置,比如支持设置下拉拦截,刷新拦截。
本篇文章将深入探讨如何解决ScrollView与ListView的嵌套问题,并通过自定义ListView来实现正常显示每个Item,确保滑动操作由ScrollView有效控制。 首先,我们需要理解ScrollView和ListView的工作原理。ScrollView是...
总的来说,实现ScrollView、ListView和GridView的下拉刷新和上拉加载更多功能,需要对Android的事件监听、数据加载机制以及视图复用有深入理解。通过掌握这些技术,开发者可以构建更加动态和交互丰富的移动应用。
在Android开发中,为了提供更好的用户体验,我们常常需要在列表视图(ListView)或滚动视图(ScrollView)中实现上拉加载更多的功能。SwipeRefreshLayout是Android SDK提供的一种原生组件,用于实现下拉刷新的效果,...
本文将深入探讨如何创建一个功能完善的搜索框,包括保存搜索历史记录、实现自动匹配功能,并结合ScrollView与ListView来达到平滑的阻尼效果。首先,我们来分析标题和描述中的关键知识点。 1. **搜索框(SearchView...
Android PullToRefresh 下拉刷新,上拉更多,支持ScrollView,ListView,可方便拓展GridView,WebView等,我主要测试了ScrollView,ListView代码中已实现不过没怎么测,其他的还是很好拓展的的,在isReadyForPullUp...
这个压缩包内的源码不仅可以帮助初学者学习如何在ListView和ScrollView中实现下拉刷新,还可以扩展到其他相关的Android开发技术,如数据持久化、网络请求、异步任务等。通过对这些源码的学习和分析,开发者可以加深...
这个“Android下拉刷新控件(ListView好ScrollView版)”压缩包文件包含的是关于如何在Android中实现这种功能的具体资料,主要集中在ListView和ScrollView这两种常见的滚动视图上。 1. **下拉刷新概念** 下拉刷新...
定义PullToRefreshView,只要把GirdView ListView ScrollView放到自定义的PullToRefreshView下就可以实现下拉刷新 下拉刷新
然而,当ListView需要与ScrollView嵌套使用时,可能会遇到一些问题,特别是不能正常刷新。本文将深入探讨这个问题,并提供解决方案。 首先,我们要理解为什么ListView嵌套ScrollView会导致刷新问题。ListView自身...
总之,这个资源为开发者提供了一手的学习材料,通过研究源码和运行Demo,不仅可以加深对ListView、GridView、ScrollView的理解,还能掌握上拉下拉功能的实现技巧,提高Android应用开发的能力。对于希望优化滚动性能...