freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-11 01:24 本頁面
 

【文章內(nèi)容簡介】 局的列表。使用它同樣需要一個(gè) PagerAdapter 適配器來給它提供數(shù)據(jù)。 從新聞列表的特征來看,顯然是由一個(gè) ListView 來實(shí)現(xiàn)的。但是為了在滑動(dòng) ListView的時(shí)候 ,帶動(dòng) ViewPager一起滑動(dòng),則需要 自定義一個(gè)控件,來講廣告輪播條的 ViewPager 和新聞列表的 ListView 關(guān)聯(lián)起來。 而大部分的新聞軟件都有上拉刷新和 下拉加載更多 的功能,所以在此自定義控件中也應(yīng)加上上拉刷新和 下拉加載更多 的功能。 此自定義控件繼承了 ListView 類,實(shí)現(xiàn)了OnScrollListener, 接口 。 主要 代碼如下: 初始化頭布局 : 新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 13頁(共 32頁) mHeaderView = (getContext(), , null)。 (mHeaderView)。 tvTitle = (TextView)()。 tvTime = (TextView)()。 ivArrow = (ImageView)()。 pbProgress=(ProgressBar)( ess)。 (0, 0)。 mHeaderViewHeight = ()。 初始化 底部 布局 mFooterView = (getContext(), , null)。 (mFooterView)。 (0, 0)。 mFooterViewHeight = ()。 // 隱藏 刷新控件 (0,mFooterViewHeight,0,0)。 (this)。 在布局文件中使用此自定義控件如下: android:id=@+id/lv_list android:layout_width=match_parent android:layout_height=0dp android:cacheColorHint=fff android:layout_weight=1 / 對(duì)應(yīng)的 顯示界面如下: 基于 Android的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 14頁(共 32頁) 圖 Figure Pull To Fresh 圖 下拉加載更多 示意圖 Figure DropDown To Load 組圖模塊 組圖模塊是整個(gè)客戶端軟件中比較簡單的一個(gè)模塊, 它的功能就是改變新聞顯示風(fēng)格,以圖片形式展現(xiàn),滿足不同需求的用戶。 它的布局使用了網(wǎng)格布局GridView。 整體布局代碼如下: GridView android:id=@+id/gv_photo android:layout_width=match_parent android:layout_height=match_parent android:numColumns=2 android:visibility=gone / 條目布局如下: LinearLayout android:layout_width=match_parent android:layout_height=wrap_content android:layout_margin=10dp android:background=@drawable/pic_list_item_bg android:gravity=center 新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 15頁(共 32頁) android:orientation=vertical ImageView / TextView / /LinearLayout Java填充數(shù)據(jù)的 代碼 主要集中在 getView 方法中,具體 如下: if (convertView == null) { convertView = (mActivity, , null)。 holder = new ViewHolder()。 = (TextView) convertView .findViewById()。 = (ImageView) convertView .findViewById()。 (holder)。 } else { holder = (ViewHolder) ()。 } PhotoInfo item = getItem(position)。 ()。 (, )。 實(shí)現(xiàn)效果如下圖所示: 基于 Android的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 16頁(共 32頁) 圖 Figure Picture Module 視頻模塊 視屏模塊和組圖模塊的設(shè)計(jì)類似, 它的設(shè)計(jì)主要是為了滿足喜歡通過視頻來了解新聞時(shí)事動(dòng)態(tài)的用戶。整體以一個(gè) ListView 來布局。 主要布局如下: ListView android:id=@+id/lv_photo android:layout_width=match_parent android:layout_height=match_parent android:cacheColorHint=fff android:divider=@null / 在 Java中的實(shí)現(xiàn)方式也基本保持一致,可以使用 ViewHolder 類來優(yōu)化ListView,實(shí)現(xiàn) ListView 的復(fù)用,代碼如下: static class ViewHolder { publicTextViewtvTitle。 publicImageViewivPic。 } 新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 17頁(共 32頁) 新聞詳情頁 新聞詳情頁 即是點(diǎn)擊新聞進(jìn)入后的頁面,使用一個(gè) WebView 來實(shí)現(xiàn)。 在新聞詳情頁中,用戶可以點(diǎn)擊返回按鈕返回到前一頁面,也可以選擇適合自己的字體大小來觀看新聞,還可以點(diǎn)擊分享按鈕,將自己喜歡的文章分享到其他第三方社交平臺(tái)。主要 布局 代碼 如下: WebView android:id=@+id/wv_web android:layout_width=match_parent android:layout_height=match_parent / 當(dāng)點(diǎn)擊某一新聞條目時(shí),就會(huì)跳轉(zhuǎn)到新聞詳情的 Actvity中,然后加載WebView 所在的布局文件 ,最后從網(wǎng)絡(luò)服務(wù)器上加載所需要的 html 文件,顯示在 WebView 中。 新聞條目點(diǎn)擊的代碼如下: // 在本地記錄已讀狀態(tài) String ids = (mActivity, read_ids, )。 String readId = (position).id。 if (!(readId)) { ids = ids + readId + ,。 (mActivity, read_ids, ids)。 } changeReadState(view)。// 實(shí)現(xiàn)局部界面刷新 方法 // 跳轉(zhuǎn)新聞詳情頁 代碼實(shí)現(xiàn) Intent intent = new Intent()。 (mActivity, )。 (url, (position).url)。 (intent)。 WebView 中加載的具體代碼如下: //所有跳轉(zhuǎn)的鏈接都會(huì)在此方法中回調(diào) @Override 基于 Android的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 18頁(共 32頁) publicbooleanshouldOverrideUrlLoading(WebView view, String url) { // tel:110 (url)。 return true。 } })。 界面顯示圖如下所示: 圖 Figure News Detail 當(dāng)點(diǎn)擊左上角的返回按鈕時(shí),會(huì)調(diào)用 Activity的 finish()方法銷毀當(dāng)前 Activity,退回到上一界面。實(shí)現(xiàn)代碼如下: : finish()。 break。 當(dāng)點(diǎn)擊字體按鈕時(shí),會(huì)彈出選擇對(duì)話框。有 5種字體大小可選擇。當(dāng)選擇與當(dāng)前字體大小不同的字體時(shí), 通過 WebView 獲得 WebSettings 對(duì)象,調(diào)用它的setTextSize()方法來設(shè)置字體大小 。 具體實(shí)現(xiàn)代碼如下: 新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 19頁(共 32頁) 新聞 分享 用戶如果在新聞詳情頁遇到了自己喜歡的文章,可以點(diǎn)擊分享按鈕選擇分享平臺(tái)分享給其他好友,這就是分享模塊需要實(shí)現(xiàn)的主要的功能。該分享功能使用了第三方開源框架 ShareSDK[16]。 ShareSDK 是一種第三方的社會(huì)化分享組件,它集成了一些常見的類庫和接口,簡化了開發(fā)者的開發(fā)時(shí)間。 ShareSdk不僅能為Android平臺(tái)提供分享服務(wù),它也能為其他手機(jī)平臺(tái)如 IOS或 WP提供分享服務(wù)。ShareSDK 支持包括微信、 、微博、 facebook、 google+等國內(nèi)外 40 多家社交主流平臺(tái)。而且該組件內(nèi)置了強(qiáng)大的統(tǒng)計(jì) 分析管理后臺(tái),可以實(shí)時(shí)地了解用戶的各種數(shù)據(jù),有效指導(dǎo)軟件的運(yùn)營與推廣,為使用此組件的 App引入更多的流量。所以使用該組件進(jìn)行輔助開發(fā)是十分有必要的。 應(yīng)用該框架的主要代碼如下: 應(yīng)用該框架所需要的權(quán)限: usespermission android:name= / usespermission android:name= / usespermission android:name= / usespermission android:name= / usespermission android:name= / usespermission android:name= / usespermission android:name= / 在配置文件中配置 activity android:name= android:configChanges=keyboardHidden|orientation|screenSize android:screenOrientation=portrait android:theme=@android:style/ 基于 Android的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn) 第 20頁(共 32頁) android:windowSoftInputMode=stateHidden|adjustResize intentfilter data android:scheme=tencent100371282 / action android:name= /
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1