├── .gitignore ├── LICENSE ├── README.md ├── Show ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg ├── 8.jpg └── 9.jpg ├── app ├── .gitignore ├── build.gradle ├── libs │ ├── MobCommons-2016.1222.1756.jar │ ├── MobTools-2016.1222.1756.jar │ ├── ShareSDK-Core-2.8.0.jar │ ├── ShareSDK-Email-2.8.1.jar │ ├── ShareSDK-QQ-2.8.0.jar │ ├── ShareSDK-QZone-2.8.0.jar │ ├── ShareSDK-ShortMessage-2.8.1.jar │ ├── ShareSDK-SinaWeibo-2.8.0.jar │ ├── ShareSDK-Wechat-2.8.0.jar │ ├── ShareSDK-Wechat-Core-2.8.0.jar │ ├── ShareSDK-Wechat-Favorite-2.8.0.jar │ └── ShareSDK-Wechat-Moments-2.8.0.jar ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── ShareSDK.xml │ ├── litepal.xml │ └── www │ │ ├── css │ │ └── article.css │ │ ├── html │ │ ├── aboutus.html │ │ ├── agreement.html │ │ └── article.html │ │ ├── images │ │ └── loading.jpg │ │ └── js │ │ └── article.js │ ├── java │ ├── cn │ │ └── sharesdk │ │ │ └── onekeyshare │ │ │ ├── CustomerLogo.java │ │ │ ├── OnekeyShare.java │ │ │ ├── OnekeySharePage.java │ │ │ ├── OnekeyShareTheme.java │ │ │ ├── OnekeyShareThemeImpl.java │ │ │ ├── ShareContentCustomizeCallback.java │ │ │ └── themes │ │ │ └── classic │ │ │ ├── ClassicTheme.java │ │ │ ├── EditPage.java │ │ │ ├── FriendAdapter.java │ │ │ ├── FriendListItem.java │ │ │ ├── FriendListPage.java │ │ │ ├── IndicatorView.java │ │ │ ├── PRTHeader.java │ │ │ ├── PicViewerPage.java │ │ │ ├── PlatformPage.java │ │ │ ├── PlatformPageAdapter.java │ │ │ ├── RotateImageView.java │ │ │ ├── XView.java │ │ │ ├── land │ │ │ ├── EditPageLand.java │ │ │ ├── FriendListPageLand.java │ │ │ ├── PlatformPageAdapterLand.java │ │ │ └── PlatformPageLand.java │ │ │ └── port │ │ │ ├── EditPagePort.java │ │ │ ├── FriendListPagePort.java │ │ │ ├── PlatformPageAdapterPort.java │ │ │ └── PlatformPagePort.java │ └── tv │ │ └── baokan │ │ └── liuageandroid │ │ ├── adapter │ │ ├── CommentRecyclerViewAdapter.java │ │ ├── DragGridViewAdapter.java │ │ ├── LinkRecyclerViewAdapter.java │ │ ├── NewsListRecyclerViewAdapter.java │ │ ├── OptionalGridViewAdapter.java │ │ ├── PhotoDetailViewPageAdapter.java │ │ └── TabFragmentPagerAdapter.java │ │ ├── app │ │ ├── App.java │ │ ├── Constant.java │ │ └── CrashHandler.java │ │ ├── cache │ │ ├── KeyboardCache.java │ │ ├── NewsContentCache.java │ │ ├── NewsDALManager.java │ │ ├── NewsIsGoodHomeCache.java │ │ ├── NewsIsGoodOtherCache.java │ │ ├── NewsListHomeCache.java │ │ └── NewsListOtherCache.java │ │ ├── model │ │ ├── ArticleDetailBean.java │ │ ├── ArticleListBean.java │ │ ├── ColumnBean.java │ │ ├── CommentBean.java │ │ └── UserBean.java │ │ ├── receiver │ │ └── NotificationReceiver.java │ │ ├── ui │ │ ├── activity │ │ │ ├── AboutUsActivity.java │ │ │ ├── AdWebViewActivity.java │ │ │ ├── AgreementActivity.java │ │ │ ├── BaseActivity.java │ │ │ ├── CollectionRecordActivity.java │ │ │ ├── ColumnActivity.java │ │ │ ├── CommentListActivity.java │ │ │ ├── CommentRecordActivity.java │ │ │ ├── FeedbackActivity.java │ │ │ ├── ForgotActivity.java │ │ │ ├── LoginActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── ModifyInfoActivity.java │ │ │ ├── ModifySafeInfoActivity.java │ │ │ ├── NewsDetailActivity.java │ │ │ ├── PhotoBrowserActivity.java │ │ │ ├── PhotoDetailActivity.java │ │ │ ├── RegisterActivity.java │ │ │ ├── SearchActivity.java │ │ │ ├── SearchResultActivity.java │ │ │ ├── SplashActivity.java │ │ │ └── UserInfoActivity.java │ │ └── fragment │ │ │ ├── BaseFragment.java │ │ │ └── NewsListFragment.java │ │ ├── utils │ │ ├── APIs.java │ │ ├── AdManager.java │ │ ├── DateUtils.java │ │ ├── FileCacheUtils.java │ │ ├── FrescoBitmapUtils.java │ │ ├── LogUtils.java │ │ ├── Md5Util.java │ │ ├── NetworkUtils.java │ │ ├── ProgressHUD.java │ │ ├── SharedPreferencesUtils.java │ │ ├── SizeUtils.java │ │ ├── StatusBarUtils.java │ │ ├── StatusUtils.java │ │ ├── StreamUtils.java │ │ └── SystemBarTintManager.java │ │ ├── widget │ │ ├── ClearEditText.java │ │ ├── CustomerScrollView.java │ │ ├── DragGridView.java │ │ ├── DragScrollView.java │ │ ├── NavigationViewModal.java │ │ ├── NavigationViewPush.java │ │ ├── OptionalGridView.java │ │ ├── SearchEditText.java │ │ └── ViewPagerFixed.java │ │ └── wxapi │ │ └── WXEntryActivity.java │ └── res │ ├── anim │ ├── column_bottom.xml │ ├── column_hide.xml │ ├── column_show.xml │ ├── dismiss_enter.xml │ ├── dismiss_exit.xml │ ├── pop_enter.xml │ ├── pop_exit.xml │ ├── popup_enter.xml │ ├── popup_exit.xml │ ├── progressbar_rotate.xml │ ├── push_enter.xml │ └── push_exit.xml │ ├── animator │ ├── bottom_hide.xml │ ├── bottom_show.xml │ ├── top_hide.xml │ └── top_show.xml │ ├── color │ └── subscribe_item_text_color.xml │ ├── drawable-hdpi │ ├── acm_inputbox.9.png │ ├── ic_launcher.png │ ├── icon_add_btn.png │ ├── icon_search.png │ ├── icon_setting_btn.png │ └── ssdk_oks_ptr_ptr.png │ ├── drawable-v21 │ └── selector_cell_touch_bg.xml │ ├── drawable-xhdpi │ ├── article_content_qq_normal.png │ ├── article_content_share_pyq.png │ ├── article_content_share_weixin.png │ ├── baokan_small_logo.png │ ├── bottom_bar_back_normal.png │ ├── bottom_bar_back_selected.png │ ├── bottom_bar_collection_normal1.png │ ├── bottom_bar_collection_normal2.png │ ├── bottom_bar_collection_selected.png │ ├── bottom_bar_comment_normal.png │ ├── bottom_bar_edit_normal.png │ ├── bottom_bar_edit_selected.png │ ├── bottom_bar_font_selected.png │ ├── bottom_bar_save_normal.png │ ├── bottom_bar_share_normal.png │ ├── bottom_bar_share_selected.png │ ├── channel_nav_plus.png │ ├── comment_comment.png │ ├── comment_support.png │ ├── comment_support_highlighted.png │ ├── default_portrait.png │ ├── delete.png │ ├── launch_screen.png │ ├── login_icon_code.png │ ├── login_icon_phone.png │ ├── login_icon_viewcode_normal.png │ ├── login_icon_viewcode_selected.png │ ├── login_icon_yanzhengma.png │ ├── navigation_logo_white.png │ ├── navigation_right_menu.png │ ├── news_detail_ad.png │ ├── news_list_ad.png │ ├── news_list_comment.png │ ├── news_list_look.png │ ├── news_list_morepic_icon.png │ ├── newscontent_drag_arrow.png │ ├── newscontent_drag_return.png │ ├── placeholder_logo.png │ ├── placeholder_logo_big.png │ ├── profile_about_icon.png │ ├── profile_arrow_right.png │ ├── profile_clean_icon.png │ ├── profile_collection_icon.png │ ├── profile_comment_icon.png │ ├── profile_feedback_icon.png │ ├── profile_footer_star.png │ ├── profile_footer_wx.png │ ├── profile_mode_daylight.png │ ├── profile_setting_icon.png │ ├── profile_share_icon.png │ ├── profile_topbar_collection.png │ ├── profile_topbar_comment.png │ ├── profile_topbar_info.png │ ├── progress_rotate_loading.png │ ├── pull_refresh_arrow.png │ ├── search_bar_icon_normal.png │ ├── search_icon.png │ ├── share_platform_qqfriends.png │ ├── share_platform_sina.png │ ├── share_platform_wechat.png │ ├── ssdk_auth_title_back.png │ ├── ssdk_back_arr.png │ ├── ssdk_logo.png │ ├── ssdk_oks_classic_alipay.png │ ├── ssdk_oks_classic_alipaymoments.png │ ├── ssdk_oks_classic_bluetooth.png │ ├── ssdk_oks_classic_check_checked.png │ ├── ssdk_oks_classic_check_default.png │ ├── ssdk_oks_classic_douban.png │ ├── ssdk_oks_classic_dropbox.png │ ├── ssdk_oks_classic_email.png │ ├── ssdk_oks_classic_evernote.png │ ├── ssdk_oks_classic_facebook.png │ ├── ssdk_oks_classic_facebookmessenger.png │ ├── ssdk_oks_classic_flickr.png │ ├── ssdk_oks_classic_foursquare.png │ ├── ssdk_oks_classic_googleplus.png │ ├── ssdk_oks_classic_instagram.png │ ├── ssdk_oks_classic_instapaper.png │ ├── ssdk_oks_classic_kaixin.png │ ├── ssdk_oks_classic_kakaostory.png │ ├── ssdk_oks_classic_kakaotalk.png │ ├── ssdk_oks_classic_laiwang.png │ ├── ssdk_oks_classic_laiwangmoments.png │ ├── ssdk_oks_classic_line.png │ ├── ssdk_oks_classic_linkedin.png │ ├── ssdk_oks_classic_mingdao.png │ ├── ssdk_oks_classic_pinterest.png │ ├── ssdk_oks_classic_pocket.png │ ├── ssdk_oks_classic_qq.png │ ├── ssdk_oks_classic_qzone.png │ ├── ssdk_oks_classic_renren.png │ ├── ssdk_oks_classic_shortmessage.png │ ├── ssdk_oks_classic_sinaweibo.png │ ├── ssdk_oks_classic_tencentweibo.png │ ├── ssdk_oks_classic_tumblr.png │ ├── ssdk_oks_classic_twitter.png │ ├── ssdk_oks_classic_vkontakte.png │ ├── ssdk_oks_classic_wechat.png │ ├── ssdk_oks_classic_wechatfavorite.png │ ├── ssdk_oks_classic_wechatmoments.png │ ├── ssdk_oks_classic_whatsapp.png │ ├── ssdk_oks_classic_yixin.png │ ├── ssdk_oks_classic_yixinmoments.png │ ├── ssdk_oks_classic_youdao.png │ ├── ssdk_title_div.png │ ├── textfield_clear_btn.png │ ├── title_nav_plus_colse.png │ ├── title_nav_plus_normal.png │ ├── top_navigation_back_black.png │ ├── top_navigation_back_normal.png │ ├── top_navigation_close.png │ ├── top_navigation_close_dark.png │ └── top_navigation_search.png │ ├── drawable-xxhdpi │ ├── ic_edit_input_clear.png │ └── seabar_input.9.png │ ├── drawable │ ├── selector_button.xml │ ├── selector_button_text.xml │ ├── selector_cell_touch_bg.xml │ ├── shape_button_normal.xml │ ├── shape_button_pressed.xml │ ├── shape_comment_edittext.xml │ ├── shape_news_content_share_button.xml │ ├── shape_splash_time.xml │ ├── ssdk_oks_classic_platform_cell_back.xml │ ├── ssdk_oks_classic_progressbar.xml │ └── subscribe_item_bg.xml │ ├── layout │ ├── activity_about_us.xml │ ├── activity_adwebview.xml │ ├── activity_agreement.xml │ ├── activity_collection_record.xml │ ├── activity_column.xml │ ├── activity_comment_list.xml │ ├── activity_comment_record.xml │ ├── activity_feedback.xml │ ├── activity_forgot.xml │ ├── activity_login.xml │ ├── activity_main.xml │ ├── activity_modify_info.xml │ ├── activity_modify_safe_info.xml │ ├── activity_news_detail.xml │ ├── activity_photo_browser.xml │ ├── activity_photo_detail.xml │ ├── activity_register.xml │ ├── activity_search.xml │ ├── activity_search_result.xml │ ├── activity_splash.xml │ ├── activity_user_info.xml │ ├── cell_news_detail_comment.xml │ ├── cell_news_detail_link_notitlepic.xml │ ├── cell_news_detail_link_titlepic.xml │ ├── cell_news_list_bigonepic.xml │ ├── cell_news_list_morepic.xml │ ├── cell_news_list_nopic.xml │ ├── cell_news_list_onepic.xml │ ├── cell_search_keyboard_list.xml │ ├── dialog_comment.xml │ ├── dialog_set_font.xml │ ├── fragment_news_list.xml │ ├── header_cell_news_list_banner.xml │ ├── image_photo_detail.xml │ ├── item_column_item.xml │ ├── item_hot_keyboard.xml │ ├── navigation_view_modal.xml │ ├── navigation_view_push.xml │ └── slidingmenu_profile.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── values-en │ ├── ssdk_oks_strings.xml │ └── ssdk_strings.xml │ ├── values-w820dp │ └── dimens.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── ssdk_instapaper_strings.xml │ ├── ssdk_oks_color_drawables.xml │ ├── ssdk_oks_strings.xml │ ├── ssdk_strings.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── sliding_menu ├── .classpath ├── AndroidManifest.xml ├── LICENSE.txt ├── build.gradle ├── libs └── android-support-v4.jar ├── pom.xml ├── project.properties ├── res ├── layout │ └── slidingmenumain.xml └── values │ ├── attrs.xml │ └── ids.xml └── src └── com └── jeremyfeinstein └── slidingmenu └── lib ├── CanvasTransformerBuilder.java ├── CustomViewAbove.java ├── CustomViewBehind.java ├── MenuInterface.java ├── SlidingMenu.java └── app ├── SlidingActivity.java ├── SlidingActivityBase.java ├── SlidingActivityHelper.java ├── SlidingFragmentActivity.java ├── SlidingListActivity.java └── SlidingPreferenceActivity.java /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .DS_Store 5 | /build 6 | /captures 7 | .externalNativeBuild 8 | /sliding_menu/build 9 | .idea -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 六阿哥 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 六阿哥网Android版 2 | 3 | ## 项目介绍 4 | 5 | 资讯类客户端,数据来源我的个人网站 [六阿哥网](http://www.6ag.cn)。 6 | 7 | ## 开发环境 8 | 9 | 使用Android Studio 2.2.3开发,最低支持Android 4.4。 10 | 11 | 推荐大家使用Android studio开发Android App,eclipse已经跟不上时代的发展了。 12 | 13 | ## iOS端 14 | 15 | iOS端使用 `Xcode8.1` + `Swift3.0` 开发,注释也很详细哦,有兴趣的可以看看。并且项目一些技术点介绍的文章也是使用iOS版作示例,不过原理都差不多的。 16 | 17 | [点击获取iOS端源码](https://github.com/6ag/LiuAGeIOS) 18 | 19 | ## 各种效果展示 20 | 21 | ### 传统新闻首页 22 | 23 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/1.jpg) 24 | 25 | ### 多种item类型 26 | 27 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/2.jpg) 28 | 29 | ### 资讯详情 - 正文 30 | 31 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/3.jpg) 32 | 33 | ### 资讯详情 - 图片浏览器 34 | 35 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/4.jpg) 36 | 37 | ### 资讯详情 - 相关连接、评论 38 | 39 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/5.jpg) 40 | 41 | ### 图片浏览器 42 | 43 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/6.jpg) 44 | 45 | ### 侧栏个人中心 46 | 47 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/7.jpg) 48 | 49 | ### 个人中心 50 | 51 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/8.jpg) 52 | 53 | ### 登录、注册、找回密码 - 支持第三方登录 54 | 55 | ![image](https://github.com/6ag/LiuAGeAndroid/blob/master/Show/9.jpg) 56 | 57 | ### 。。。等 58 | 59 | ## 许可 60 | 61 | [MIT](https://github.com/6ag/LiuAGeAndroid/blob/master/LICENSE) © [六阿哥](https://github.com/6ag) 62 | 63 | -------------------------------------------------------------------------------- /Show/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/1.jpg -------------------------------------------------------------------------------- /Show/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/2.jpg -------------------------------------------------------------------------------- /Show/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/3.jpg -------------------------------------------------------------------------------- /Show/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/4.jpg -------------------------------------------------------------------------------- /Show/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/5.jpg -------------------------------------------------------------------------------- /Show/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/6.jpg -------------------------------------------------------------------------------- /Show/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/7.jpg -------------------------------------------------------------------------------- /Show/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/8.jpg -------------------------------------------------------------------------------- /Show/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/Show/9.jpg -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /src/androidTest 3 | /src/test -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 25 5 | buildToolsVersion "25.0.2" 6 | defaultConfig { 7 | applicationId "tv.baokan.liuageandroid" 8 | minSdkVersion 19 9 | targetSdkVersion 25 10 | versionCode 1 11 | versionName "1.0.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | 14 | ndk { 15 | abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64' 16 | } 17 | 18 | manifestPlaceholders = [ 19 | JPUSH_PKGNAME : applicationId, 20 | JPUSH_APPKEY : "0460601ea10bb221bd785b76", 21 | JPUSH_CHANNEL : "developer-default", 22 | ] 23 | } 24 | buildTypes { 25 | release { 26 | minifyEnabled false 27 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 28 | } 29 | } 30 | lintOptions { 31 | checkReleaseBuilds false 32 | abortOnError false 33 | disable 'MissingTranslation' 34 | } 35 | } 36 | 37 | dependencies { 38 | compile fileTree(include: ['*.jar'], dir: 'libs') 39 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 40 | exclude group: 'com.android.support', module: 'support-annotations' 41 | }) 42 | compile 'com.android.support:appcompat-v7:25.2.0' 43 | compile 'com.android.support:design:25.2.0' 44 | compile 'com.android.support:cardview-v7:25.2.0' 45 | testCompile 'junit:junit:4.12' 46 | compile 'com.facebook.fresco:fresco:0.12.0' 47 | compile 'com.facebook.fresco:animated-gif:0.12.0' 48 | compile 'com.squareup.picasso:picasso:2.5.2' 49 | compile 'com.zhy:okhttputils:2.6.2' 50 | compile 'com.youth.banner:banner:1.4.5' 51 | compile 'com.lcodecorex:tkrefreshlayout:1.0.5' 52 | compile 'com.kaopiz:kprogresshud:1.0.5' 53 | compile 'org.litepal.android:core:1.4.1' 54 | compile 'com.facebook.rebound:rebound:0.3.8' 55 | compile 'com.github.chrisbanes:PhotoView:1.3.1' 56 | compile 'com.alibaba:fastjson:1.2.21' 57 | compile 'cn.jiguang.sdk:jpush:3.0.0' 58 | compile 'cn.jiguang.sdk:jcore:1.0.0' 59 | compile files('libs/MobCommons-2016.1222.1756.jar') 60 | compile files('libs/MobTools-2016.1222.1756.jar') 61 | compile files('libs/ShareSDK-Core-2.8.0.jar') 62 | compile files('libs/ShareSDK-QQ-2.8.0.jar') 63 | compile files('libs/ShareSDK-QZone-2.8.0.jar') 64 | compile files('libs/ShareSDK-SinaWeibo-2.8.0.jar') 65 | compile files('libs/ShareSDK-Wechat-2.8.0.jar') 66 | compile files('libs/ShareSDK-Wechat-Core-2.8.0.jar') 67 | compile files('libs/ShareSDK-Wechat-Favorite-2.8.0.jar') 68 | compile files('libs/ShareSDK-Wechat-Moments-2.8.0.jar') 69 | compile files('libs/ShareSDK-Email-2.8.1.jar') 70 | compile files('libs/ShareSDK-ShortMessage-2.8.1.jar') 71 | compile project(path: ':sliding_menu') 72 | 73 | } 74 | -------------------------------------------------------------------------------- /app/libs/MobCommons-2016.1222.1756.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/MobCommons-2016.1222.1756.jar -------------------------------------------------------------------------------- /app/libs/MobTools-2016.1222.1756.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/MobTools-2016.1222.1756.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Core-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Core-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Email-2.8.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Email-2.8.1.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-QQ-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-QQ-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-QZone-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-QZone-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-ShortMessage-2.8.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-ShortMessage-2.8.1.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-SinaWeibo-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-SinaWeibo-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Wechat-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Wechat-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Wechat-Core-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Wechat-Core-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Wechat-Favorite-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Wechat-Favorite-2.8.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Wechat-Moments-2.8.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/libs/ShareSDK-Wechat-Moments-2.8.0.jar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/feng/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/assets/ShareSDK.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 14 | 15 | 16 | 23 | 24 | 25 | 31 | 32 | 33 | 41 | 42 | 43 | 50 | 51 | 52 | 58 | 59 | 60 | 64 | 65 | 66 | 70 | 71 | -------------------------------------------------------------------------------- /app/src/main/assets/litepal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/assets/www/css/article.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: '汉仪旗黑'; 3 | src: url('../HYQiHei-50J.ttf'); 4 | } 5 | 6 | * { 7 | padding:0px; 8 | margin:0px; 9 | } 10 | 11 | #container { 12 | width: 92%; 13 | margin-left: 4%; 14 | margin-top: 10px 15 | } 16 | 17 | .title { 18 | text-align: left; 19 | font-size: 20px; 20 | color: #3c3c3c; 21 | font-weight: bold; 22 | margin-top: 5px; 23 | } 24 | 25 | .time { 26 | text-align: left; 27 | font-size: 13px; 28 | color: #BDBDBD; 29 | margin-top: 5px; 30 | margin-bottom: 10px 31 | } 32 | 33 | #content { 34 | color: #3c3c3c; 35 | letter-spacing: 1px; 36 | } 37 | 38 | #content p { 39 | margin: 0px 0px 15px 0px; 40 | } 41 | 42 | #content img { 43 | display: block; 44 | margin: 20px auto; 45 | } -------------------------------------------------------------------------------- /app/src/main/assets/www/html/aboutus.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 |
20 |

《六阿哥》本身是完全免费的,且所有资讯均为原创或网络转载,浏览和使用本软件过程中产生的网络数据流量费用,均由运营商收取。任何问题可以通过如下方式联系到APP作者。

21 |

联系我们:

22 |

联系邮箱:admin@6ag.cn

23 |

新浪微博:@周剑峰先生

24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/assets/www/html/article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

mainnews

10 | 11 | -------------------------------------------------------------------------------- /app/src/main/assets/www/images/loading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/assets/www/images/loading.jpg -------------------------------------------------------------------------------- /app/src/main/assets/www/js/article.js: -------------------------------------------------------------------------------- 1 | // 图片点击事件 2 | function didTappedImage(index, url) { 3 | var image = document.getElementById(url); 4 | var width = image.width; 5 | var height = image.height; 6 | var x = image.getBoundingClientRect().left; 7 | var y = image.getBoundingClientRect().top; 8 | x = x + document.documentElement.scrollLeft; 9 | y = y + document.documentElement.scrollTop; 10 | 11 | var json = {'index' : index, 'x' : x, 'y' : y, 'width' : width, 'height' : height, 'url' : url}; 12 | var jsonString = JSON.stringify(json); 13 | ARTICLE.didTappedImage(jsonString); 14 | } 15 | 16 | // 设置字体 17 | function setFontName(name) { 18 | var content = document.getElementById('content'); 19 | content.style.fontFamily = name; 20 | } 21 | 22 | // 设置字体大小 23 | function setFontSize(size) { 24 | var content = document.getElementById('content'); 25 | content.style.fontSize = size + "px"; 26 | } 27 | 28 | // 获取网页高度 29 | function getHtmlHeight() { 30 | return document.body.offsetHeight; 31 | } 32 | 33 | // 替换正文图片 34 | function replaceContentImage(message) { 35 | if (message.match("replaceimage")) { 36 | var index = message.indexOf("~"); 37 | // 截取占位标识 38 | var messagereplace = message.substring(0, index); 39 | // 截取到图片路径 40 | var messagepath = message.substring(index + 1); 41 | messagereplace = messagereplace.replace(/replaceimage/, ""); 42 | 43 | 44 | // 保证只替换一次 45 | var element = document.getElementById(messagereplace); 46 | if (element.src.match("loading")) { 47 | element.src = messagepath; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/CustomerLogo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import android.graphics.Bitmap; 12 | import android.view.View.OnClickListener; 13 | 14 | /** 九宫格自定义的图标对象 */ 15 | public class CustomerLogo { 16 | public String label; 17 | public Bitmap logo; 18 | public OnClickListener listener; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/OnekeySharePage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import java.util.ArrayList; 12 | import java.util.HashMap; 13 | 14 | import cn.sharesdk.framework.Platform; 15 | import cn.sharesdk.framework.Platform.ShareParams; 16 | import cn.sharesdk.framework.PlatformActionListener; 17 | 18 | import com.mob.tools.FakeActivity; 19 | 20 | /** 快捷分享的基类 */ 21 | public class OnekeySharePage extends FakeActivity { 22 | private OnekeyShareThemeImpl impl; 23 | 24 | public OnekeySharePage(OnekeyShareThemeImpl impl) { 25 | this.impl = impl; 26 | } 27 | 28 | /** 分享界面是否弹窗模式 */ 29 | protected final boolean isDialogMode() { 30 | return impl.dialogMode; 31 | } 32 | 33 | protected final HashMap getShareParamsMap() { 34 | return impl.shareParamsMap; 35 | } 36 | 37 | /** 静默分享开关(没有界面,直接分享 )*/ 38 | protected final boolean isSilent() { 39 | return impl.silent; 40 | } 41 | 42 | protected final ArrayList getCustomerLogos() { 43 | return impl.customerLogos; 44 | } 45 | 46 | protected final HashMap getHiddenPlatforms() { 47 | return impl.hiddenPlatforms; 48 | } 49 | 50 | protected final PlatformActionListener getCallback() { 51 | return impl.callback; 52 | } 53 | 54 | protected final ShareContentCustomizeCallback getCustomizeCallback() { 55 | return impl.customizeCallback; 56 | } 57 | 58 | protected final boolean isDisableSSO() { 59 | return impl.disableSSO; 60 | } 61 | 62 | protected final void shareSilently(Platform platform) { 63 | impl.shareSilently(platform); 64 | } 65 | 66 | protected final ShareParams formateShareData(Platform platform) { 67 | if (impl.formateShareData(platform)) { 68 | return impl.shareDataToShareParams(platform); 69 | } 70 | return null; 71 | } 72 | 73 | protected final boolean isUseClientToShare(Platform platform) { 74 | return impl.isUseClientToShare(platform); 75 | } 76 | 77 | } 78 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/OnekeyShareTheme.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.onekeyshare.themes.classic.ClassicTheme; 12 | 13 | /** 快捷分享的主题样式 */ 14 | public enum OnekeyShareTheme { 15 | /** 九格宫的主题样式 ,对应的实现类ClassicTheme */ 16 | CLASSIC(0, new ClassicTheme()); 17 | 18 | private final int value; 19 | private final OnekeyShareThemeImpl impl; 20 | 21 | private OnekeyShareTheme(int value, OnekeyShareThemeImpl impl) { 22 | this.value = value; 23 | this.impl = impl; 24 | } 25 | 26 | public int getValue() { 27 | return value; 28 | } 29 | 30 | public OnekeyShareThemeImpl getImpl() { 31 | return impl; 32 | } 33 | 34 | public static OnekeyShareTheme fromValue(int value) { 35 | for (OnekeyShareTheme theme : OnekeyShareTheme.values()) { 36 | if (theme.value == value) { 37 | return theme; 38 | } 39 | } 40 | return CLASSIC; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/ShareContentCustomizeCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.framework.Platform; 12 | import cn.sharesdk.framework.Platform.ShareParams; 13 | 14 | /** 自定义不同平台分享不同内容的接口 */ 15 | public interface ShareContentCustomizeCallback { 16 | 17 | public void onShare(Platform platform, ShareParams paramsToShare); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/ClassicTheme.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.content.res.Configuration; 13 | import cn.sharesdk.framework.Platform; 14 | import cn.sharesdk.framework.Platform.ShareParams; 15 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 16 | import cn.sharesdk.onekeyshare.themes.classic.land.EditPageLand; 17 | import cn.sharesdk.onekeyshare.themes.classic.land.PlatformPageLand; 18 | import cn.sharesdk.onekeyshare.themes.classic.port.EditPagePort; 19 | import cn.sharesdk.onekeyshare.themes.classic.port.PlatformPagePort; 20 | 21 | /** 九宫格经典主题样式的实现类*/ 22 | public class ClassicTheme extends OnekeyShareThemeImpl { 23 | 24 | /** 展示平台列表*/ 25 | protected void showPlatformPage(Context context) { 26 | PlatformPage page; 27 | int orientation = context.getResources().getConfiguration().orientation; 28 | if (orientation == Configuration.ORIENTATION_PORTRAIT) { 29 | page = new PlatformPagePort(this); 30 | } else { 31 | page = new PlatformPageLand(this); 32 | } 33 | page.show(context, null); 34 | } 35 | 36 | /** 展示编辑界面*/ 37 | protected void showEditPage(Context context, Platform platform, ShareParams sp) { 38 | EditPage page; 39 | int orientation = context.getResources().getConfiguration().orientation; 40 | if (orientation == Configuration.ORIENTATION_PORTRAIT) { 41 | page = new EditPagePort(this); 42 | } else { 43 | page = new EditPageLand(this); 44 | } 45 | page.setPlatform(platform); 46 | page.setShareParams(sp); 47 | page.show(context, null); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/IndicatorView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.graphics.Paint; 14 | import android.view.View; 15 | 16 | /** 九宫格滑动时,下面显示的圆圈 */ 17 | public class IndicatorView extends View { 18 | private static final int DESIGN_INDICATOR_RADIUS = 6; 19 | private static final int DESIGN_INDICATOR_DISTANCE = 14; 20 | private static final int DESIGN_BOTTOM_HEIGHT = 52; 21 | /** 九格宫有多少页数 */ 22 | private int count; 23 | /** 当前显示的是九格宫中的第几页 */ 24 | private int current; 25 | 26 | public IndicatorView(Context context) { 27 | super(context); 28 | } 29 | 30 | public void setScreenCount(int count) { 31 | this.count = count; 32 | } 33 | 34 | public void onScreenChange(int currentScreen, int lastScreen) { 35 | if (currentScreen != current) { 36 | current = currentScreen; 37 | postInvalidate(); 38 | } 39 | } 40 | 41 | protected void onDraw(Canvas canvas) { 42 | if (count <= 1) { 43 | this.setVisibility(View.GONE); 44 | return; 45 | } 46 | float height = getHeight(); 47 | float radius = height * DESIGN_INDICATOR_RADIUS / DESIGN_BOTTOM_HEIGHT; 48 | float distance = height * DESIGN_INDICATOR_DISTANCE / DESIGN_BOTTOM_HEIGHT; 49 | float windowWidth = radius * 2 * count + distance * (count - 1); 50 | float left = (getWidth() - windowWidth) / 2; 51 | float cy = height / 2; 52 | 53 | canvas.drawColor(0xffffffff); 54 | Paint paint = new Paint(); 55 | paint.setAntiAlias(true); 56 | for (int i = 0; i < count; i++) { 57 | if (i == current) { 58 | paint.setColor(0xff5d71a0); 59 | } else { 60 | paint.setColor(0xffafb1b7); 61 | } 62 | float cx = left + (radius * 2 + distance) * i; 63 | canvas.drawCircle(cx, cy, radius, paint); 64 | } 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/PicViewerPage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.graphics.Bitmap; 12 | import android.graphics.drawable.ColorDrawable; 13 | import android.view.ViewTreeObserver.OnGlobalLayoutListener; 14 | import android.widget.ImageView.ScaleType; 15 | import cn.sharesdk.onekeyshare.OnekeySharePage; 16 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 17 | 18 | import com.mob.tools.gui.ScaledImageView; 19 | 20 | /** 图片浏览的视图类 */ 21 | public class PicViewerPage extends OnekeySharePage implements OnGlobalLayoutListener { 22 | private Bitmap pic; 23 | /** 图片浏览的缩放控件 */ 24 | private ScaledImageView sivViewer; 25 | 26 | public PicViewerPage(OnekeyShareThemeImpl impl) { 27 | super(impl); 28 | } 29 | 30 | /** 设置图片用于浏览 */ 31 | public void setImageBitmap(Bitmap pic) { 32 | this.pic = pic; 33 | } 34 | 35 | public void onCreate() { 36 | activity.getWindow().setBackgroundDrawable(new ColorDrawable(0x4c000000)); 37 | 38 | sivViewer = new ScaledImageView(activity); 39 | sivViewer.setScaleType(ScaleType.MATRIX); 40 | activity.setContentView(sivViewer); 41 | if (pic != null) { 42 | sivViewer.getViewTreeObserver().addOnGlobalLayoutListener(this); 43 | } 44 | } 45 | 46 | public void onGlobalLayout() { 47 | sivViewer.getViewTreeObserver().removeGlobalOnLayoutListener(this); 48 | sivViewer.post(new Runnable() { 49 | public void run() { 50 | sivViewer.setBitmap(pic); 51 | } 52 | }); 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/RotateImageView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.widget.ImageView; 14 | 15 | /** 在At好友页面中,下拉刷新列表头部的旋转箭头 */ 16 | public class RotateImageView extends ImageView { 17 | private float rotation; 18 | 19 | public RotateImageView(Context context) { 20 | super(context); 21 | } 22 | 23 | public void setRotation(float rotation) { 24 | this.rotation = rotation; 25 | invalidate(); 26 | } 27 | 28 | protected void onDraw(Canvas canvas) { 29 | canvas.rotate(rotation, getWidth() / 2, getHeight() / 2); 30 | super.onDraw(canvas); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/XView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.graphics.Paint; 14 | import android.view.View; 15 | 16 | /** 编辑页面中删除图片“X”按钮 */ 17 | public class XView extends View { 18 | private float ratio; 19 | 20 | public XView(Context context) { 21 | super(context); 22 | } 23 | 24 | public void setRatio(float ratio) { 25 | this.ratio = ratio; 26 | } 27 | 28 | protected void onDraw(Canvas canvas) { 29 | int width = getWidth() / 2; 30 | int height = getHeight() / 2; 31 | 32 | Paint paint = new Paint(); 33 | paint.setAntiAlias(true); 34 | paint.setColor(0xffa0a0a0); 35 | canvas.drawRect(width, 0, getWidth(), height, paint); 36 | 37 | paint = new Paint(); 38 | paint.setAntiAlias(true); 39 | paint.setStrokeWidth(3f * ratio); 40 | paint.setColor(0xffffffff); 41 | float left = 8f * ratio; 42 | canvas.drawLine(width + left, left, getWidth() - left, width - left, paint); 43 | canvas.drawLine(width + left, width - left, getWidth() - left, left, paint); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/FriendListPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 12 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 13 | 14 | import com.mob.tools.utils.ResHelper; 15 | 16 | /** 横屏的好友列表 */ 17 | public class FriendListPageLand extends FriendListPage { 18 | private static final int DESIGN_SCREEN_WIDTH = 1280; 19 | private static final int DESIGN_TITLE_HEIGHT = 70; 20 | 21 | public FriendListPageLand(OnekeyShareThemeImpl impl) { 22 | super(impl); 23 | } 24 | 25 | protected float getRatio() { 26 | float screenWidth = ResHelper.getScreenWidth(activity); 27 | return screenWidth / DESIGN_SCREEN_WIDTH; 28 | } 29 | 30 | protected int getDesignTitleHeight() { 31 | return DESIGN_TITLE_HEIGHT; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/PlatformPageAdapterLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import java.util.ArrayList; 12 | 13 | import android.content.Context; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | import com.mob.tools.utils.ResHelper; 18 | 19 | /** 横屏的九宫格页面适配器 */ 20 | public class PlatformPageAdapterLand extends PlatformPageAdapter { 21 | private static final int DESIGN_SCREEN_WIDTH_L = 1280; 22 | private static final int DESIGN_CELL_WIDTH_L = 160; 23 | private static final int DESIGN_SEP_LINE_WIDTH = 1; 24 | private static final int DESIGN_LOGO_HEIGHT = 76; 25 | private static final int DESIGN_PADDING_TOP = 20; 26 | 27 | public PlatformPageAdapterLand(PlatformPage page, ArrayList cells) { 28 | super(page, cells); 29 | } 30 | 31 | protected void calculateSize(Context context, ArrayList plats) { 32 | int screenWidth = ResHelper.getScreenWidth(context); 33 | float ratio = ((float) screenWidth) / DESIGN_SCREEN_WIDTH_L; 34 | int cellWidth = (int) (DESIGN_CELL_WIDTH_L * ratio); 35 | lineSize = screenWidth / cellWidth; 36 | 37 | sepLineWidth = (int) (DESIGN_SEP_LINE_WIDTH * ratio); 38 | sepLineWidth = sepLineWidth < 1 ? 1 : sepLineWidth; 39 | logoHeight = (int) (DESIGN_LOGO_HEIGHT * ratio); 40 | paddingTop = (int) (DESIGN_PADDING_TOP * ratio); 41 | bottomHeight = (int) (DESIGN_BOTTOM_HEIGHT * ratio); 42 | cellHeight = (screenWidth - sepLineWidth * 3) / (lineSize - 1); 43 | panelHeight = cellHeight + sepLineWidth; 44 | } 45 | 46 | protected void collectCells(ArrayList plats) { 47 | int count = plats.size(); 48 | if (count < lineSize) { 49 | int lineCount = (count / lineSize); 50 | if (count % lineSize != 0) { 51 | lineCount++; 52 | } 53 | cells = new Object[1][lineCount * lineSize]; 54 | } else { 55 | int pageCount = (count / lineSize); 56 | if (count % lineSize != 0) { 57 | pageCount++; 58 | } 59 | cells = new Object[pageCount][lineSize]; 60 | } 61 | 62 | for (int i = 0; i < count; i++) { 63 | int p = i / lineSize; 64 | cells[p][i - lineSize * p] = plats.get(i); 65 | } 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/PlatformPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 横屏的九宫格页面 */ 18 | public class PlatformPageLand extends PlatformPage { 19 | 20 | public PlatformPageLand(OnekeyShareThemeImpl impl) { 21 | super(impl); 22 | } 23 | 24 | public void onCreate() { 25 | requestLandscapeOrientation(); 26 | super.onCreate(); 27 | } 28 | 29 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 30 | return new PlatformPageAdapterLand(this, cells); 31 | } 32 | 33 | } 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/FriendListPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 12 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 13 | 14 | import com.mob.tools.utils.ResHelper; 15 | 16 | /** 竖屏的好友列表 */ 17 | public class FriendListPagePort extends FriendListPage { 18 | private static final int DESIGN_SCREEN_WIDTH = 720; 19 | private static final int DESIGN_TITLE_HEIGHT = 96; 20 | 21 | public FriendListPagePort(OnekeyShareThemeImpl impl) { 22 | super(impl); 23 | } 24 | 25 | protected float getRatio() { 26 | float screenWidth = ResHelper.getScreenWidth(activity); 27 | return screenWidth / DESIGN_SCREEN_WIDTH; 28 | } 29 | 30 | protected int getDesignTitleHeight() { 31 | return DESIGN_TITLE_HEIGHT; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/PlatformPageAdapterPort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import java.util.ArrayList; 12 | 13 | import android.content.Context; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | import com.mob.tools.utils.ResHelper; 18 | 19 | /** 竖屏的九宫格页面适配器 */ 20 | public class PlatformPageAdapterPort extends PlatformPageAdapter { 21 | private static final int DESIGN_SCREEN_WIDTH_P = 720; 22 | private static final int DESIGN_SEP_LINE_WIDTH = 1; 23 | private static final int DESIGN_LOGO_HEIGHT = 76; 24 | private static final int DESIGN_PADDING_TOP = 20; 25 | private static final int PAGE_SIZE_P = 12; 26 | private static final int LINE_SIZE_P = 4; 27 | 28 | public PlatformPageAdapterPort(PlatformPage page, ArrayList cells) { 29 | super(page, cells); 30 | } 31 | 32 | protected void calculateSize(Context context, ArrayList plats) { 33 | int screenWidth = ResHelper.getScreenWidth(context); 34 | lineSize = LINE_SIZE_P; 35 | 36 | float ratio = ((float) screenWidth) / DESIGN_SCREEN_WIDTH_P; 37 | sepLineWidth = (int) (DESIGN_SEP_LINE_WIDTH * ratio); 38 | sepLineWidth = sepLineWidth < 1 ? 1 : sepLineWidth; 39 | logoHeight = (int) (DESIGN_LOGO_HEIGHT * ratio); 40 | paddingTop = (int) (DESIGN_PADDING_TOP * ratio); 41 | bottomHeight = (int) (DESIGN_BOTTOM_HEIGHT * ratio); 42 | cellHeight = (screenWidth - sepLineWidth * 3) / 4; 43 | if (plats.size() <= lineSize) { 44 | panelHeight = cellHeight + sepLineWidth; 45 | } else if (plats.size() <= PAGE_SIZE_P - lineSize) { 46 | panelHeight = (cellHeight + sepLineWidth) * 2; 47 | } else { 48 | panelHeight = (cellHeight + sepLineWidth) * 3; 49 | } 50 | } 51 | 52 | protected void collectCells(ArrayList plats) { 53 | int count = plats.size(); 54 | if (count < PAGE_SIZE_P) { 55 | int lineCount = (count / lineSize); 56 | if (count % lineSize != 0) { 57 | lineCount++; 58 | } 59 | cells = new Object[1][lineCount * lineSize]; 60 | } else { 61 | int pageCount = (count / PAGE_SIZE_P); 62 | if (count % PAGE_SIZE_P != 0) { 63 | pageCount++; 64 | } 65 | cells = new Object[pageCount][PAGE_SIZE_P]; 66 | } 67 | 68 | for (int i = 0; i < count; i++) { 69 | int p = i / PAGE_SIZE_P; 70 | cells[p][i - PAGE_SIZE_P * p] = plats.get(i); 71 | } 72 | } 73 | 74 | } 75 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/PlatformPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 竖屏的九宫格页面 */ 18 | public class PlatformPagePort extends PlatformPage { 19 | 20 | public PlatformPagePort(OnekeyShareThemeImpl impl) { 21 | super(impl); 22 | } 23 | 24 | public void onCreate() { 25 | requestPortraitOrientation(); 26 | super.onCreate(); 27 | } 28 | 29 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 30 | return new PlatformPageAdapterPort(this, cells); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/adapter/TabFragmentPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | import android.support.v4.app.FragmentTransaction; 7 | import android.view.ViewGroup; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | import tv.baokan.liuageandroid.model.ColumnBean; 13 | import tv.baokan.liuageandroid.ui.fragment.BaseFragment; 14 | 15 | /** 16 | * 资讯、图秀里viewPager的适配器 17 | */ 18 | public class TabFragmentPagerAdapter extends FragmentPagerAdapter { 19 | 20 | private List mSelectedList = new ArrayList<>(); 21 | private List mListFragments = new ArrayList<>(); 22 | private FragmentManager mFm; 23 | 24 | public TabFragmentPagerAdapter(FragmentManager fm, List listFragments, List selectedList) { 25 | super(fm); 26 | mFm = fm; 27 | mListFragments.addAll(listFragments); 28 | mSelectedList.addAll(selectedList); 29 | } 30 | 31 | /** 32 | * 重新加载数据 33 | * 34 | * @param newListFragments 新的fragment集合 35 | * @param newSelectedList 新的选中分类集合 36 | */ 37 | public void reloadData(List newListFragments, List newSelectedList) { 38 | 39 | // 每次刷新顺序都需要清除缓存 40 | if (mListFragments.size() > 0) { 41 | FragmentTransaction ft = mFm.beginTransaction(); 42 | for (Fragment f : 43 | mListFragments) { 44 | ft.remove(f); 45 | } 46 | ft.commitAllowingStateLoss(); 47 | mFm.executePendingTransactions(); 48 | } 49 | 50 | // 清除原有数据源 51 | mListFragments.clear(); 52 | mSelectedList.clear(); 53 | 54 | // 重新添加数据源 55 | mListFragments.addAll(newListFragments); 56 | mSelectedList.addAll(newSelectedList); 57 | 58 | // 刷新数据 59 | notifyDataSetChanged(); 60 | } 61 | 62 | @Override 63 | public int getItemPosition(Object object) { 64 | return POSITION_NONE; 65 | } 66 | 67 | @Override 68 | public Object instantiateItem(ViewGroup container, int position) { 69 | return super.instantiateItem(container, position); 70 | } 71 | 72 | @Override 73 | public Fragment getItem(int position) { 74 | return mListFragments.get(position); 75 | } 76 | 77 | @Override 78 | public int getCount() { 79 | return mListFragments.size(); 80 | } 81 | 82 | // @Override 83 | // public void destroyItem(ViewGroup container, int position, Object object) { 84 | // 重写父类销毁方法,就切换viewPager上的列表就不会重复去加载数据,但是会增加内存占用 85 | // container.removeView(mListFragments.get(position).getView()); 86 | // } 87 | 88 | @Override 89 | public CharSequence getPageTitle(int position) { 90 | return mSelectedList.get(position).getClassname(); 91 | } 92 | 93 | } 94 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/app/Constant.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.app; 2 | 3 | /** 4 | * 常量配置 5 | */ 6 | public class Constant { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/app/CrashHandler.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.app; 2 | 3 | import android.content.Context; 4 | 5 | import tv.baokan.liuageandroid.utils.LogUtils; 6 | 7 | public class CrashHandler implements Thread.UncaughtExceptionHandler { 8 | 9 | // 单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例 10 | private static CrashHandler instance; 11 | 12 | private CrashHandler() {} 13 | 14 | // 同步方法,以免单例多线程环境下出现异常 15 | public synchronized static CrashHandler getInstance() { 16 | if (instance == null) { 17 | instance = new CrashHandler(); 18 | } 19 | return instance; 20 | } 21 | 22 | // 初始化,把当前对象设置成UncaughtExceptionHandler处理器 23 | public void init(Context ctx) { 24 | Thread.setDefaultUncaughtExceptionHandler(this); 25 | } 26 | 27 | // 当有未处理的异常发生时,就会来到这里。。 28 | @Override 29 | public void uncaughtException(Thread t, Throwable e) { 30 | LogUtils.d("CrashHandler", "异常发生了, thread: " + t + " name: " + t.getName() + " id: " + t.getId() + "exception: " + e); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/KeyboardCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 搜索关键词缓存 7 | */ 8 | public class KeyboardCache extends DataSupport { 9 | 10 | // 关键词 11 | private String keyboard; 12 | 13 | // 关键词拼音 14 | private String pinyin; 15 | 16 | // 出现的次数 17 | private int num; 18 | 19 | public String getKeyboard() { 20 | return keyboard; 21 | } 22 | 23 | public void setKeyboard(String keyboard) { 24 | this.keyboard = keyboard; 25 | } 26 | 27 | public String getPinyin() { 28 | return pinyin; 29 | } 30 | 31 | public void setPinyin(String pinyin) { 32 | this.pinyin = pinyin; 33 | } 34 | 35 | public int getNum() { 36 | return num; 37 | } 38 | 39 | public void setNum(int num) { 40 | this.num = num; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/NewsContentCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 新闻正文数据缓存 7 | */ 8 | public class NewsContentCache extends DataSupport { 9 | 10 | // 文章id 11 | private String articleid; 12 | 13 | // 分类id 14 | private String classid; 15 | 16 | // json数据 17 | private String news; 18 | 19 | public String getArticleid() { 20 | return articleid; 21 | } 22 | 23 | public void setArticleid(String articleid) { 24 | this.articleid = articleid; 25 | } 26 | 27 | public String getClassid() { 28 | return classid; 29 | } 30 | 31 | public void setClassid(String classid) { 32 | this.classid = classid; 33 | } 34 | 35 | public String getNews() { 36 | return news; 37 | } 38 | 39 | public void setNews(String news) { 40 | this.news = news; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/NewsIsGoodHomeCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 资讯幻灯片数据缓存 (首页数据 也就是 今日头条) 7 | */ 8 | public class NewsIsGoodHomeCache extends DataSupport { 9 | 10 | // 分类id 11 | private String classid; 12 | 13 | // json数据 14 | private String news; 15 | 16 | public String getClassid() { 17 | return classid; 18 | } 19 | 20 | public void setClassid(String classid) { 21 | this.classid = classid; 22 | } 23 | 24 | public String getNews() { 25 | return news; 26 | } 27 | 28 | public void setNews(String news) { 29 | this.news = news; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/NewsIsGoodOtherCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 资讯幻灯片数据缓存 (除了 今日头条分类 的数据) 7 | * 今日头条分类id 为0 表示默认 8 | */ 9 | public class NewsIsGoodOtherCache extends DataSupport { 10 | 11 | // 分类id 12 | private String classid; 13 | 14 | // json数据 15 | private String news; 16 | 17 | public String getClassid() { 18 | return classid; 19 | } 20 | 21 | public void setClassid(String classid) { 22 | this.classid = classid; 23 | } 24 | 25 | public String getNews() { 26 | return news; 27 | } 28 | 29 | public void setNews(String news) { 30 | this.news = news; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/NewsListHomeCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 资讯、图库列表数据缓存 (首页数据 也就是 今日头条) 7 | */ 8 | 9 | public class NewsListHomeCache extends DataSupport { 10 | 11 | // 分类id 12 | private String classid; 13 | 14 | // json数据 15 | private String news; 16 | 17 | public String getClassid() { 18 | return classid; 19 | } 20 | 21 | public void setClassid(String classid) { 22 | this.classid = classid; 23 | } 24 | 25 | public String getNews() { 26 | return news; 27 | } 28 | 29 | public void setNews(String news) { 30 | this.news = news; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/cache/NewsListOtherCache.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.cache; 2 | 3 | import org.litepal.crud.DataSupport; 4 | 5 | /** 6 | * 资讯、图库列表数据缓存 (除了 今日头条分类 的数据) 7 | * 今日头条分类id 为0 表示默认 8 | */ 9 | public class NewsListOtherCache extends DataSupport { 10 | 11 | // 分类id 12 | private String classid; 13 | 14 | // json数据 15 | private String news; 16 | 17 | public String getClassid() { 18 | return classid; 19 | } 20 | 21 | public void setClassid(String classid) { 22 | this.classid = classid; 23 | } 24 | 25 | public String getNews() { 26 | return news; 27 | } 28 | 29 | public void setNews(String news) { 30 | this.news = news; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/model/CommentBean.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.model; 2 | 3 | import org.json.JSONException; 4 | import org.json.JSONObject; 5 | 6 | import java.io.Serializable; 7 | 8 | public class CommentBean implements Serializable { 9 | 10 | // 楼层 11 | private String plstep; 12 | 13 | // 评论id 14 | private String plid; 15 | 16 | // 评论用户名 17 | private String plusername; 18 | 19 | // 评论昵称 20 | private String plnickname; 21 | 22 | // 评论id 23 | private String id; 24 | 25 | // 栏目id 26 | private String classid; 27 | 28 | // 赞数量 29 | private String zcnum; 30 | 31 | // 评论内容 32 | private String saytext; 33 | 34 | // 评论时间 35 | private String saytime; 36 | 37 | // 用户头像 需要拼接 38 | private String userpic; 39 | 40 | // 是否被赞过 - 默认没有 41 | private boolean isStar = false; 42 | 43 | public CommentBean(JSONObject jsonObject) { 44 | try { 45 | plstep = jsonObject.getString("plstep"); 46 | plid = jsonObject.getString("plid"); 47 | plusername = jsonObject.getString("plusername"); 48 | plnickname = jsonObject.getString("plnickname"); 49 | id = jsonObject.getString("id"); 50 | classid = jsonObject.getString("classid"); 51 | zcnum = jsonObject.getString("zcnum"); 52 | saytext = jsonObject.getString("saytext"); 53 | saytime = jsonObject.getString("saytime"); 54 | userpic = jsonObject.getString("userpic"); 55 | } catch (JSONException e) { 56 | e.printStackTrace(); 57 | } 58 | } 59 | 60 | @Override 61 | public String toString() { 62 | return "CommentBean{" + 63 | "plstep='" + plstep + '\'' + 64 | ", plid='" + plid + '\'' + 65 | ", plusername='" + plusername + '\'' + 66 | ", plnickname='" + plnickname + '\'' + 67 | ", id='" + id + '\'' + 68 | ", classid='" + classid + '\'' + 69 | ", zcnum='" + zcnum + '\'' + 70 | ", saytext='" + saytext + '\'' + 71 | ", saytime='" + saytime + '\'' + 72 | ", userpic='" + userpic + '\'' + 73 | '}'; 74 | } 75 | 76 | public String getPlstep() { 77 | return plstep; 78 | } 79 | 80 | public String getPlid() { 81 | return plid; 82 | } 83 | 84 | public String getPlusername() { 85 | return plusername; 86 | } 87 | 88 | public String getPlnickname() { 89 | return plnickname; 90 | } 91 | 92 | public String getId() { 93 | return id; 94 | } 95 | 96 | public String getClassid() { 97 | return classid; 98 | } 99 | 100 | public String getZcnum() { 101 | return zcnum; 102 | } 103 | 104 | public String getSaytext() { 105 | return saytext; 106 | } 107 | 108 | public String getSaytime() { 109 | return saytime; 110 | } 111 | 112 | public String getUserpic() { 113 | return userpic; 114 | } 115 | 116 | public void setZcnum(String zcnum) { 117 | this.zcnum = zcnum; 118 | } 119 | 120 | public boolean isStar() { 121 | return isStar; 122 | } 123 | 124 | public void setStar(boolean star) { 125 | isStar = star; 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/receiver/NotificationReceiver.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.receiver; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | 8 | import org.json.JSONException; 9 | import org.json.JSONObject; 10 | 11 | import cn.jpush.android.api.JPushInterface; 12 | import tv.baokan.liuageandroid.ui.activity.NewsDetailActivity; 13 | import tv.baokan.liuageandroid.ui.activity.PhotoDetailActivity; 14 | import tv.baokan.liuageandroid.utils.LogUtils; 15 | 16 | public class NotificationReceiver extends BroadcastReceiver { 17 | 18 | private static final String TAG = "NotificationReceiver"; 19 | 20 | @Override 21 | public void onReceive(Context context, Intent intent) { 22 | 23 | if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) { 24 | LogUtils.d(TAG, "接收到通知"); 25 | Bundle bundle = intent.getExtras(); 26 | showTip(context, bundle); 27 | } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) { 28 | LogUtils.d(TAG, "用户点击打开了通知"); 29 | Bundle bundle = intent.getExtras(); 30 | jumpToDetail(context, bundle); 31 | } 32 | } 33 | 34 | /** 35 | * 收到通知后判断是否在前台,在则提示 36 | * 37 | * @param context 38 | * @param bundle 39 | */ 40 | private void showTip(final Context context, Bundle bundle) { 41 | // if (!App.app.isApplicationBroughtToBackground(context)) { 42 | // try { 43 | // JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA)); 44 | // String id = json.getString("id"); 45 | // String classid = json.getString("classid"); 46 | // String type = json.getString("type"); 47 | // LogUtils.d(TAG, "id = " + id + " classid = " + classid + " type = " + type); 48 | // 49 | // if (type.equals("photo")) { 50 | // PhotoDetailActivity.start(context, classid, id); 51 | // } else { 52 | // NewsDetailActivity.start(context, classid, id); 53 | // } 54 | // } catch (JSONException e) { 55 | // LogUtils.d(TAG, "解析推送数据失败"); 56 | // } 57 | // } 58 | } 59 | 60 | /** 61 | * 跳转页面 - 点击通知后 62 | * 63 | * @param bundle 通知内容 64 | */ 65 | private void jumpToDetail(Context context, Bundle bundle) { 66 | 67 | //清除指定通知 68 | JPushInterface.clearNotificationById(context, bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID)); 69 | 70 | try { 71 | JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA)); 72 | String id = json.getString("id"); 73 | String classid = json.getString("classid"); 74 | String type = json.getString("type"); 75 | LogUtils.d(TAG, "id = " + id + " classid = " + classid + " type = " + type); 76 | if (type.equals("photo")) { 77 | PhotoDetailActivity.start(context, classid, id); 78 | } else { 79 | NewsDetailActivity.start(context, classid, id); 80 | } 81 | } catch (JSONException e) { 82 | LogUtils.d(TAG, "解析推送数据失败"); 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/ui/activity/AboutUsActivity.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.ui.activity; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.os.Handler; 7 | import android.support.v7.widget.LinearLayoutManager; 8 | import android.support.v7.widget.RecyclerView; 9 | import android.view.View; 10 | import android.webkit.WebView; 11 | import android.webkit.WebViewClient; 12 | import android.widget.ProgressBar; 13 | 14 | import com.facebook.drawee.backends.pipeline.Fresco; 15 | import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter; 16 | import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout; 17 | import com.lcodecore.tkrefreshlayout.header.SinaRefreshView; 18 | 19 | import org.json.JSONArray; 20 | import org.json.JSONException; 21 | 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | import java.util.Random; 25 | 26 | import tv.baokan.liuageandroid.R; 27 | import tv.baokan.liuageandroid.adapter.NewsListRecyclerViewAdapter; 28 | import tv.baokan.liuageandroid.cache.NewsDALManager; 29 | import tv.baokan.liuageandroid.model.ArticleListBean; 30 | import tv.baokan.liuageandroid.utils.AdManager; 31 | import tv.baokan.liuageandroid.utils.LogUtils; 32 | import tv.baokan.liuageandroid.utils.NetworkUtils; 33 | import tv.baokan.liuageandroid.utils.ProgressHUD; 34 | import tv.baokan.liuageandroid.widget.NavigationViewPush; 35 | 36 | public class AboutUsActivity extends BaseActivity { 37 | 38 | private WebView mWebView; 39 | private NavigationViewPush mNavigationViewRed; // 导航栏 40 | private ProgressBar mProgressBar; 41 | 42 | /** 43 | * 便捷启动当前activity 44 | * 45 | * @param activity 启动当前activity的activity 46 | */ 47 | public static void start(Activity activity) { 48 | Intent intent = new Intent(activity, AboutUsActivity.class); 49 | activity.startActivity(intent); 50 | activity.overridePendingTransition(R.anim.push_enter, R.anim.push_exit); 51 | } 52 | 53 | @Override 54 | protected void onCreate(Bundle savedInstanceState) { 55 | super.onCreate(savedInstanceState); 56 | setContentView(R.layout.activity_agreement); 57 | 58 | mNavigationViewRed = (NavigationViewPush) findViewById(R.id.nav_agreement); 59 | mWebView = (WebView) findViewById(R.id.wv_agreement_webview); 60 | mProgressBar = (ProgressBar) findViewById(R.id.pb_agreement_progressbar); 61 | 62 | mNavigationViewRed.setupNavigationView(true, false, "关于我们", new NavigationViewPush.OnClickListener() { 63 | @Override 64 | public void onBackClick(View v) { 65 | finish(); 66 | } 67 | }); 68 | 69 | mWebView.loadUrl("file:///android_asset/www/html/aboutus.html"); 70 | mWebView.setWebViewClient(new WebViewClient() { 71 | 72 | @Override 73 | public void onPageFinished(WebView view, String url) { 74 | super.onPageFinished(view, url); 75 | // 隐藏加载进度条 76 | mProgressBar.setVisibility(View.INVISIBLE); 77 | } 78 | 79 | }); 80 | } 81 | 82 | } 83 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/ui/activity/AgreementActivity.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.ui.activity; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.view.View; 7 | import android.webkit.WebView; 8 | import android.webkit.WebViewClient; 9 | import android.widget.ProgressBar; 10 | 11 | import tv.baokan.liuageandroid.R; 12 | import tv.baokan.liuageandroid.widget.NavigationViewPush; 13 | 14 | public class AgreementActivity extends BaseActivity { 15 | 16 | private WebView mWebView; 17 | private NavigationViewPush mNavigationViewRed; // 导航栏 18 | private ProgressBar mProgressBar; 19 | 20 | /** 21 | * 便捷启动当前activity 22 | * 23 | * @param activity 启动当前activity的activity 24 | */ 25 | public static void start(Activity activity) { 26 | Intent intent = new Intent(activity, AgreementActivity.class); 27 | activity.startActivity(intent); 28 | activity.overridePendingTransition(R.anim.push_enter, R.anim.push_exit); 29 | } 30 | 31 | @Override 32 | protected void onCreate(Bundle savedInstanceState) { 33 | super.onCreate(savedInstanceState); 34 | setContentView(R.layout.activity_agreement); 35 | 36 | mNavigationViewRed = (NavigationViewPush) findViewById(R.id.nav_agreement); 37 | mWebView = (WebView) findViewById(R.id.wv_agreement_webview); 38 | mProgressBar = (ProgressBar) findViewById(R.id.pb_agreement_progressbar); 39 | 40 | mNavigationViewRed.setupNavigationView(true, false, "注册条款", new NavigationViewPush.OnClickListener() { 41 | @Override 42 | public void onBackClick(View v) { 43 | finish(); 44 | } 45 | }); 46 | 47 | mWebView.loadUrl("file:///android_asset/www/html/agreement.html"); 48 | mWebView.setWebViewClient(new WebViewClient() { 49 | 50 | @Override 51 | public void onPageFinished(WebView view, String url) { 52 | super.onPageFinished(view, url); 53 | // 隐藏加载进度条 54 | mProgressBar.setVisibility(View.INVISIBLE); 55 | } 56 | 57 | }); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/ui/fragment/BaseFragment.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.ui.fragment; 2 | 3 | import android.content.Context; 4 | import android.os.Bundle; 5 | import android.support.annotation.Nullable; 6 | import android.support.v4.app.Fragment; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | 11 | public abstract class BaseFragment extends Fragment { 12 | 13 | private static final String TAG = "BaseFragment"; 14 | 15 | // 承载fragment的activity的上下文 16 | protected Context mContext; 17 | 18 | @Override 19 | public void onCreate(@Nullable Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | mContext = getActivity(); 22 | } 23 | 24 | @Nullable 25 | @Override 26 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 27 | return prepareUI(); 28 | } 29 | 30 | /** 31 | * 强制子类重写,准备UI 32 | * 33 | * @return fragment加载的视图 34 | */ 35 | protected abstract View prepareUI(); 36 | 37 | @Override 38 | public void onActivityCreated(@Nullable Bundle savedInstanceState) { 39 | super.onActivityCreated(savedInstanceState); 40 | loadData(); 41 | } 42 | 43 | /** 44 | * 在activity创建成功后才会调用,加载页面需要的数据 45 | */ 46 | protected void loadData() { 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/APIs.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | public class APIs { 4 | 5 | // 基础url 6 | public static final String BASE_URL = "http://www.6ag.cn/"; 7 | 8 | // 基础url 9 | private static final String API_URL = BASE_URL + "e/api/"; 10 | 11 | // 版本更新 12 | public static final String UPDATE = API_URL + "update.php"; 13 | 14 | // 分类 15 | public static final String GET_CLASS = API_URL + "getNewsClass.php"; 16 | 17 | // 文章列表 18 | public static final String ARTICLE_LIST = API_URL + "getNewsList.php"; 19 | 20 | // 文章详情 21 | public static final String ARTICLE_DETAIL = API_URL + "getNewsContent.php"; 22 | 23 | // 获取评论信息 24 | public static final String GET_COMMENT = API_URL + "getNewsComment.php"; 25 | 26 | // 提交评论 27 | public static final String SUBMIT_COMMENT = API_URL + "subPlPost.php"; 28 | 29 | // 顶贴踩贴 30 | public static final String TOP_DOWN = API_URL + "DoForPl.php"; 31 | 32 | // 注册 33 | public static final String REGISTER = API_URL + "Register.php"; 34 | 35 | // 登录 36 | public static final String LOGIN = API_URL + "loginReq.php"; 37 | 38 | // 获取用户信息 39 | public static final String GET_USERINFO = API_URL + "checkLoginStamp.php"; 40 | 41 | // 获取用户收藏夹 42 | public static final String GET_USER_FAVA = API_URL + "getUserFava.php"; 43 | 44 | // 删除好友、收藏夹 45 | public static final String DEL_ACTIONS = API_URL + "dellActions.php"; 46 | 47 | // 增加删除收藏 48 | public static final String ADD_DEL_FAVA = API_URL + "addFava.php"; 49 | 50 | // 修改账号资料/找回密码 51 | public static final String MODIFY_ACCOUNT_INFO = API_URL + "publicActions.php"; 52 | 53 | // 获取用户评论列表 54 | public static final String GET_USER_COMMENT = API_URL + "getUserComment.php"; 55 | 56 | // 搜索 57 | public static final String SEARCH = API_URL + "search.php"; 58 | 59 | // 搜索关键词列表 60 | public static final String SEARCH_KEY_LIST = API_URL + "searchKeyboard.php"; 61 | 62 | // 更新搜索关键词列表的开关 63 | public static final String UPDATE_SEARCH_KEY_LIST = API_URL + "updateKeyboard.php"; 64 | 65 | // 意见反馈 66 | public static final String FEEDBACK = API_URL + "feedback.php"; 67 | 68 | } 69 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/DateUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Date; 6 | 7 | public class DateUtils { 8 | 9 | /** 10 | * 将时间戳转换为固定格式的日期字符串 11 | * @param timestamp 时间戳 12 | * @return 日期字符串 13 | */ 14 | public static String timestampToDateString(String timestamp) throws ParseException { 15 | String res; 16 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); 17 | Date date = simpleDateFormat.parse(timestamp); 18 | long ts = date.getTime() / 1000; 19 | res = String.valueOf(ts); 20 | return res; 21 | } 22 | 23 | // 将时间戳转为字符串 24 | public static String getStringTime(String cc_time) { 25 | String re_StrTime = null; 26 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); 27 | long lcc_time = Long.valueOf(cc_time); 28 | re_StrTime = sdf.format(new Date(lcc_time * 1000L)); 29 | return re_StrTime; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/LogUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.util.Log; 4 | 5 | public class LogUtils { 6 | 7 | private static final int VERBOSE = 1; 8 | private static final int DEBUG = 2; 9 | private static final int INFO = 3; 10 | private static final int WARN = 4; 11 | private static final int ERROR = 5; 12 | private static final int NOTHING = 6; 13 | public static int level = VERBOSE; 14 | 15 | /** 16 | * 最低级的日志 17 | * 18 | * @param tag tag标签 19 | * @param msg 日志信息 20 | */ 21 | public static void v(String tag, String msg) { 22 | if (level <= VERBOSE) { 23 | Log.v(tag, msg); 24 | } 25 | } 26 | 27 | /** 28 | * debug级别日志,调试用 29 | * 30 | * @param tag tag标签 31 | * @param msg 日志信息 32 | */ 33 | public static void d(String tag, String msg) { 34 | if (level <= DEBUG) { 35 | Log.v(tag, msg); 36 | } 37 | } 38 | 39 | /** 40 | * info级别日志,重要信息 41 | * 42 | * @param tag tag标签 43 | * @param msg 日志信息 44 | */ 45 | public static void i(String tag, String msg) { 46 | if (level <= INFO) { 47 | Log.v(tag, msg); 48 | } 49 | } 50 | 51 | /** 52 | * warn级别日志,特别需要注意的提示 53 | * 54 | * @param tag tag标签 55 | * @param msg 日志信息 56 | */ 57 | public static void w(String tag, String msg) { 58 | if (level <= WARN) { 59 | Log.v(tag, msg); 60 | } 61 | } 62 | 63 | /** 64 | * error级别日志,这个一般在catch块里用 65 | * 66 | * @param tag tag标签 67 | * @param msg 日志信息 68 | */ 69 | public static void e(String tag, String msg) { 70 | if (level <= ERROR) { 71 | Log.v(tag, msg); 72 | } 73 | } 74 | 75 | } -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/ProgressHUD.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.kaopiz.kprogresshud.KProgressHUD; 7 | 8 | public class ProgressHUD { 9 | 10 | /** 11 | * 显示加载HUD 需要手动取消 12 | * 13 | * @param context 上下文 14 | * @return KProgressHUD 15 | */ 16 | public static KProgressHUD show(Context context) { 17 | return KProgressHUD.create(context) 18 | .setStyle(KProgressHUD.Style.SPIN_INDETERMINATE) 19 | .setCancellable(true) 20 | .setDimAmount(0.5f) 21 | .show(); 22 | } 23 | 24 | /** 25 | * 显示带文字的加载HUD 需要手动取消 26 | * 27 | * @param context 上下文 28 | * @param tipString 提示文字 29 | * @return KProgressHUD 30 | */ 31 | public static KProgressHUD show(Context context, String tipString) { 32 | return KProgressHUD.create(context) 33 | .setStyle(KProgressHUD.Style.SPIN_INDETERMINATE) 34 | .setLabel(tipString) 35 | .setCancellable(true) 36 | .setDimAmount(0.5f) 37 | .show(); 38 | } 39 | 40 | /** 41 | * 显示带文字的加载HUD 不需要手动取消 42 | * 43 | * @param context 上下文 44 | * @param tipString 提示文字 45 | * @return KProgressHUD 46 | */ 47 | public static void showInfo(Context context, String tipString) { 48 | Toast.makeText(context, tipString, Toast.LENGTH_SHORT).show(); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/SharedPreferencesUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.content.Context; 4 | import android.content.SharedPreferences; 5 | 6 | /** 7 | * 全局的配置信息 8 | */ 9 | public class SharedPreferencesUtils { 10 | 11 | // 新闻详情字体 12 | public static final String DETAIL_FONT = "font_key"; 13 | 14 | // 配置文件名称 15 | private static final String CONFIG_FILE_NAME = "config"; 16 | 17 | /** 18 | * 设置一个boolean类型配置 19 | * 20 | * @param context context 21 | * @param key 键 22 | * @param value 值 23 | */ 24 | public static void setBoolean(Context context, String key, boolean value) { 25 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 26 | sp.edit().putBoolean(key, value).apply(); 27 | } 28 | 29 | /** 30 | * 获取一个boolean类型配置 31 | * 32 | * @param context context 33 | * @param key 键 34 | * @param defValue 缺省值 35 | * @return 根据key查找到value 36 | */ 37 | public static boolean getBoolean(Context context, String key, boolean defValue) { 38 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 39 | return sp.getBoolean(key, defValue); 40 | } 41 | 42 | /** 43 | * 设置一个String类型配置 44 | * 45 | * @param context context 46 | * @param key 键 47 | * @param value 值 48 | */ 49 | public static void setString(Context context, String key, String value) { 50 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 51 | sp.edit().putString(key, value).apply(); 52 | } 53 | 54 | /** 55 | * 获取一个String类型配置 56 | * 57 | * @param context context 58 | * @param key 键 59 | * @param defValue 缺省值 60 | * @return 根据key查找到value 61 | */ 62 | public static String getString(Context context, String key, String defValue) { 63 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 64 | return sp.getString(key, defValue); 65 | } 66 | 67 | /** 68 | * 设置一个int类型配置 69 | * 70 | * @param context context 71 | * @param key 键 72 | * @param value 值 73 | */ 74 | public static void setInt(Context context, String key, int value) { 75 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 76 | sp.edit().putInt(key, value).apply(); 77 | } 78 | 79 | /** 80 | * 获取一个int类型配置 81 | * 82 | * @param context context 83 | * @param key 键 84 | * @param defValue 缺省值 85 | * @return 根据key查找到value 86 | */ 87 | public static int getInt(Context context, String key, int defValue) { 88 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE); 89 | return sp.getInt(key, defValue); 90 | } 91 | 92 | } 93 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/SizeUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.content.Context; 4 | 5 | public class SizeUtils { 6 | 7 | /** 8 | * dip单位转px单位 9 | * 10 | * @param context 上下文 11 | * @param dipValue dip数值 12 | * @return px数值 13 | */ 14 | public static int dip2px(Context context, float dipValue) { 15 | final float scale = context.getResources().getDisplayMetrics().density; 16 | return (int) (dipValue * scale + 0.5f); 17 | } 18 | 19 | /** 20 | * px单位转dip单位 21 | * 22 | * @param context 上下文 23 | * @param pxValue px数值 24 | * @return dip数值 25 | */ 26 | public static int px2dip(Context context, float pxValue) { 27 | final float scale = context.getResources().getDisplayMetrics().density; 28 | return (int) (pxValue / scale + 0.5f); 29 | } 30 | 31 | /** 32 | * 获取屏幕宽度 dip 33 | * 34 | * @param context 上下文 35 | * @return 宽度 36 | */ 37 | public static int getScreenWidthDip(Context context) { 38 | return px2dip(context, context.getResources().getDisplayMetrics().widthPixels); 39 | } 40 | 41 | /** 42 | * 获取屏幕高度 dip 43 | * 44 | * @param context 上下文 45 | * @return 高度 46 | */ 47 | public static int getScreenHeightDip(Context context) { 48 | return px2dip(context, context.getResources().getDisplayMetrics().heightPixels); 49 | } 50 | 51 | /** 52 | * 获取屏幕宽度 px 53 | * 54 | * @param context 上下文 55 | * @return 宽度 56 | */ 57 | public static int getScreenWidthPx(Context context) { 58 | return context.getResources().getDisplayMetrics().widthPixels; 59 | } 60 | 61 | /** 62 | * 获取屏幕高度 px 63 | * 64 | * @param context 上下文 65 | * @return 高度 66 | */ 67 | public static int getScreenHeightPx(Context context) { 68 | return context.getResources().getDisplayMetrics().heightPixels; 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/StatusBarUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.annotation.TargetApi; 4 | import android.app.Activity; 5 | import android.content.Context; 6 | import android.os.Build; 7 | import android.view.View; 8 | import android.view.Window; 9 | import android.view.WindowManager; 10 | 11 | /** 12 | * 自定义状态栏工具类 13 | */ 14 | public class StatusBarUtils { 15 | 16 | //初始化状态栏 17 | public static void initStatusBar(Activity activity, int color){ 18 | if (activity ==null||color<=0) 19 | return; 20 | //取消状态栏修改颜色 21 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 22 | activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏 23 | activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);//显示状态栏 24 | setTranslucentStatus(activity,true); 25 | } 26 | } 27 | 28 | @TargetApi(19) 29 | public static void setTranslucentStatus(Activity activity, boolean on) { 30 | Window win = activity.getWindow(); 31 | WindowManager.LayoutParams winParams = win.getAttributes(); 32 | final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 33 | if (on) { 34 | winParams.flags |= bits; 35 | } else { 36 | winParams.flags &= ~bits; 37 | } 38 | win.setAttributes(winParams); 39 | } 40 | //状态栏显示隐藏设置 41 | public static void setStatusBarViewVisibility(View view) { 42 | if (view == null) { 43 | return; 44 | } 45 | //注释掉状态栏view 46 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 47 | view.setVisibility(View.VISIBLE); 48 | } else{ 49 | view.setVisibility(View.GONE); 50 | } 51 | } 52 | 53 | /** 54 | * 获取状态栏高度 55 | * 56 | * @return 57 | */ 58 | public static int getStatusBarHeight(Context mContext) { 59 | int result = 25; 60 | int resourceId = mContext.getResources().getIdentifier("status_bar_height", "dimen", "android"); 61 | if (resourceId > 0) { 62 | result = mContext.getResources().getDimensionPixelSize(resourceId); 63 | } 64 | return result; 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/utils/StatusUtils.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.utils; 2 | 3 | import android.app.Activity; 4 | import android.view.Window; 5 | import android.view.WindowManager; 6 | 7 | import java.lang.reflect.Field; 8 | import java.lang.reflect.Method; 9 | 10 | public class StatusUtils { 11 | 12 | /** 13 | * 设置MIUI状态栏模式 14 | * 15 | * @param activity activity 16 | * @param darkmode 是否是黑暗系 17 | * @return 是否设置成功 18 | */ 19 | public static boolean setMiuiStatusBarDarkMode(Activity activity, boolean darkmode) { 20 | Class clazz = activity.getWindow().getClass(); 21 | try { 22 | int darkModeFlag = 0; 23 | Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams"); 24 | Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE"); 25 | darkModeFlag = field.getInt(layoutParams); 26 | Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class); 27 | extraFlagField.invoke(activity.getWindow(), darkmode ? darkModeFlag : 0, darkModeFlag); 28 | return true; 29 | } catch (Exception e) { 30 | e.printStackTrace(); 31 | } 32 | return false; 33 | } 34 | 35 | /** 36 | * 设置魅族状态栏模式 37 | * 38 | * @param activity activity 39 | * @param darkmode 是否是黑暗系 40 | * @return 是否设置成功 41 | */ 42 | public static boolean setMeizuStatusBarDarkMode(Activity activity, boolean darkmode) { 43 | boolean result = false; 44 | if (activity != null) { 45 | try { 46 | WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); 47 | Field darkFlag = WindowManager.LayoutParams.class 48 | .getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON"); 49 | Field meizuFlags = WindowManager.LayoutParams.class 50 | .getDeclaredField("meizuFlags"); 51 | darkFlag.setAccessible(true); 52 | meizuFlags.setAccessible(true); 53 | int bit = darkFlag.getInt(null); 54 | int value = meizuFlags.getInt(lp); 55 | if (darkmode) { 56 | value |= bit; 57 | } else { 58 | value &= ~bit; 59 | } 60 | meizuFlags.setInt(lp, value); 61 | activity.getWindow().setAttributes(lp); 62 | result = true; 63 | } catch (Exception e) { 64 | e.printStackTrace(); 65 | } 66 | } 67 | return result; 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/widget/CustomerScrollView.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.MotionEvent; 6 | import android.view.ViewConfiguration; 7 | import android.widget.ScrollView; 8 | 9 | /** 10 | * 解决scrollView嵌套recyclerView滚动不顺畅问题 11 | */ 12 | public class CustomerScrollView extends ScrollView { 13 | 14 | private int downY; 15 | private int mTouchSlop; 16 | 17 | public CustomerScrollView(Context context) { 18 | super(context); 19 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); 20 | } 21 | 22 | public CustomerScrollView(Context context, AttributeSet attrs) { 23 | super(context, attrs); 24 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); 25 | } 26 | 27 | public CustomerScrollView(Context context, AttributeSet attrs, int defStyleAttr) { 28 | super(context, attrs, defStyleAttr); 29 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); 30 | } 31 | 32 | @Override 33 | public boolean onInterceptTouchEvent(MotionEvent e) { 34 | int action = e.getAction(); 35 | switch (action) { 36 | case MotionEvent.ACTION_DOWN: 37 | downY = (int) e.getRawY(); 38 | break; 39 | case MotionEvent.ACTION_MOVE: 40 | int moveY = (int) e.getRawY(); 41 | if (Math.abs(moveY - downY) > mTouchSlop) { 42 | return true; 43 | } 44 | } 45 | return super.onInterceptTouchEvent(e); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/widget/NavigationViewModal.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.widget.ImageView; 8 | import android.widget.RelativeLayout; 9 | import android.widget.TextView; 10 | 11 | import tv.baokan.liuageandroid.R; 12 | 13 | public class NavigationViewModal extends RelativeLayout implements View.OnClickListener { 14 | 15 | public NavigationViewModal(Context context) { 16 | this(context, null); 17 | } 18 | 19 | private ImageView backView; 20 | private TextView titleView; 21 | private ImageView rightView; 22 | private OnClickListener callback; 23 | 24 | // 从布局文件加载会调用 25 | public NavigationViewModal(Context context, AttributeSet attrs) { 26 | super(context, attrs); 27 | View view = LayoutInflater.from(context).inflate(R.layout.navigation_view_modal, this, true); 28 | backView = (ImageView) view.findViewById(R.id.iv_nav_back); 29 | titleView = (TextView) view.findViewById(R.id.tv_nav_title); 30 | rightView = (ImageView) view.findViewById(R.id.iv_nav_right); 31 | backView.setOnClickListener(this); 32 | rightView.setOnClickListener(this); 33 | } 34 | 35 | /** 36 | * 配置导航栏 37 | * 38 | * @param isShowLeft 是否显示左边按钮 39 | * @param isShowRight 是否显示右边按钮 40 | * @param title 标题 41 | * @param onClickListener 监听器 42 | */ 43 | public void setupNavigationView(boolean isShowLeft, boolean isShowRight, String title, OnClickListener onClickListener) { 44 | backView.setVisibility(isShowLeft ? VISIBLE : GONE); 45 | rightView.setVisibility(isShowRight ? VISIBLE : GONE); 46 | titleView.setText(title); 47 | this.callback = onClickListener; 48 | } 49 | 50 | /** 51 | * 获取返回按钮 52 | * 53 | * @return 54 | */ 55 | public ImageView getBackView() { 56 | return backView; 57 | } 58 | 59 | /** 60 | * 获取标题控件 61 | * 62 | * @return 63 | */ 64 | public TextView getTitleView() { 65 | return titleView; 66 | } 67 | 68 | /** 69 | * 获取右侧按钮,默认不显示 70 | * 71 | * @return 72 | */ 73 | public ImageView getRightView() { 74 | return rightView; 75 | } 76 | 77 | @Override 78 | public void onClick(View v) { 79 | switch (v.getId()) { 80 | case R.id.iv_nav_back: 81 | if (callback != null) { 82 | callback.onBackClick(backView); 83 | } 84 | break; 85 | case R.id.iv_nav_right: 86 | if (callback != null) { 87 | callback.onRightClick(rightView); 88 | } 89 | break; 90 | } 91 | } 92 | 93 | // 监听点击事件 94 | public abstract static class OnClickListener { 95 | public abstract void onBackClick(View v); 96 | 97 | public void onRightClick(View v) { 98 | 99 | } 100 | } 101 | 102 | } 103 | 104 | 105 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/widget/NavigationViewPush.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.widget.ImageView; 8 | import android.widget.RelativeLayout; 9 | import android.widget.TextView; 10 | 11 | import tv.baokan.liuageandroid.R; 12 | 13 | public class NavigationViewPush extends RelativeLayout implements View.OnClickListener { 14 | 15 | public NavigationViewPush(Context context) { 16 | this(context, null); 17 | } 18 | 19 | private ImageView backView; 20 | private TextView titleView; 21 | private ImageView rightView; 22 | private OnClickListener callback; 23 | 24 | // 从布局文件加载会调用 25 | public NavigationViewPush(Context context, AttributeSet attrs) { 26 | super(context, attrs); 27 | View view = LayoutInflater.from(context).inflate(R.layout.navigation_view_push, this, true); 28 | backView = (ImageView) view.findViewById(R.id.iv_nav_back); 29 | titleView = (TextView) view.findViewById(R.id.tv_nav_title); 30 | rightView = (ImageView) view.findViewById(R.id.iv_nav_right); 31 | backView.setOnClickListener(this); 32 | rightView.setOnClickListener(this); 33 | } 34 | 35 | /** 36 | * 配置导航栏 37 | * 38 | * @param isShowLeft 是否显示左边按钮 39 | * @param isShowRight 是否显示右边按钮 40 | * @param title 标题 41 | * @param onClickListener 监听器 42 | */ 43 | public void setupNavigationView(boolean isShowLeft, boolean isShowRight, String title, OnClickListener onClickListener) { 44 | backView.setVisibility(isShowLeft ? VISIBLE : GONE); 45 | rightView.setVisibility(isShowRight ? VISIBLE : GONE); 46 | titleView.setText(title); 47 | this.callback = onClickListener; 48 | } 49 | 50 | /** 51 | * 获取返回按钮 52 | * 53 | * @return 54 | */ 55 | public ImageView getBackView() { 56 | return backView; 57 | } 58 | 59 | /** 60 | * 获取标题控件 61 | * 62 | * @return 63 | */ 64 | public TextView getTitleView() { 65 | return titleView; 66 | } 67 | 68 | /** 69 | * 获取右侧按钮,默认不显示 70 | * 71 | * @return 72 | */ 73 | public ImageView getRightView() { 74 | return rightView; 75 | } 76 | 77 | @Override 78 | public void onClick(View v) { 79 | switch (v.getId()) { 80 | case R.id.iv_nav_back: 81 | if (callback != null) { 82 | callback.onBackClick(backView); 83 | } 84 | break; 85 | case R.id.iv_nav_right: 86 | if (callback != null) { 87 | callback.onRightClick(rightView); 88 | } 89 | break; 90 | } 91 | } 92 | 93 | // 监听点击事件 94 | public static class OnClickListener { 95 | public void onBackClick(View v) { 96 | 97 | } 98 | 99 | public void onRightClick(View v) { 100 | 101 | } 102 | } 103 | 104 | } 105 | 106 | 107 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/widget/OptionalGridView.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.GridView; 6 | 7 | /** 8 | * 待选择的GridView 9 | */ 10 | public class OptionalGridView extends GridView { 11 | 12 | public OptionalGridView(Context paramContext, AttributeSet paramAttributeSet) { 13 | super(paramContext, paramAttributeSet); 14 | } 15 | 16 | @Override 17 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 18 | int expandSpec = MeasureSpec.makeMeasureSpec( 19 | Integer.MAX_VALUE >> 2, 20 | MeasureSpec.AT_MOST); 21 | super.onMeasure(widthMeasureSpec, expandSpec); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/widget/ViewPagerFixed.java: -------------------------------------------------------------------------------- 1 | package tv.baokan.liuageandroid.widget; 2 | 3 | import android.content.Context; 4 | import android.support.v4.view.ViewPager; 5 | import android.util.AttributeSet; 6 | import android.view.MotionEvent; 7 | 8 | /** 9 | * 修复PhotoView的bug 10 | */ 11 | public class ViewPagerFixed extends ViewPager { 12 | 13 | public ViewPagerFixed(Context context) { 14 | super(context); 15 | } 16 | 17 | public ViewPagerFixed(Context context, AttributeSet attrs) { 18 | super(context, attrs); 19 | } 20 | 21 | @Override 22 | public boolean onTouchEvent(MotionEvent ev) { 23 | try { 24 | return super.onTouchEvent(ev); 25 | } catch (IllegalArgumentException ex) { 26 | ex.printStackTrace(); 27 | } 28 | return false; 29 | } 30 | 31 | @Override 32 | public boolean onInterceptTouchEvent(MotionEvent ev) { 33 | try { 34 | return super.onInterceptTouchEvent(ev); 35 | } catch (IllegalArgumentException ex) { 36 | ex.printStackTrace(); 37 | } 38 | return false; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/tv/baokan/liuageandroid/wxapi/WXEntryActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package tv.baokan.liuageandroid.wxapi; 10 | 11 | import android.content.Intent; 12 | import android.widget.Toast; 13 | 14 | import cn.sharesdk.wechat.utils.WXAppExtendObject; 15 | import cn.sharesdk.wechat.utils.WXMediaMessage; 16 | import cn.sharesdk.wechat.utils.WechatHandlerActivity; 17 | 18 | /** 19 | * 微信客户端回调activity示例 20 | */ 21 | public class WXEntryActivity extends WechatHandlerActivity { 22 | 23 | /** 24 | * 处理微信发出的向第三方应用请求app message 25 | *

26 | * 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中 27 | * 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可 28 | * 做点其他的事情,包括根本不打开任何页面 29 | */ 30 | public void onGetMessageFromWXReq(WXMediaMessage msg) { 31 | if (msg != null) { 32 | Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName()); 33 | startActivity(iLaunchMyself); 34 | } 35 | } 36 | 37 | /** 38 | * 处理微信向第三方应用发起的消息 39 | *

40 | * 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享 41 | * 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信 42 | * 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作 43 | * 回调。 44 | *

45 | * 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast 46 | */ 47 | public void onShowMessageFromWXReq(WXMediaMessage msg) { 48 | if (msg != null && msg.mediaObject != null 49 | && (msg.mediaObject instanceof WXAppExtendObject)) { 50 | WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject; 51 | Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show(); 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/res/anim/column_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/column_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/column_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/dismiss_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/anim/dismiss_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/pop_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/pop_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/popup_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/popup_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/progressbar_rotate.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/push_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/push_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/animator/bottom_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/animator/bottom_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/animator/top_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/animator/top_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/color/subscribe_item_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/acm_inputbox.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/acm_inputbox.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_add_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_add_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_setting_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_setting_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/selector_cell_touch_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/article_content_qq_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_qq_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/article_content_share_pyq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_share_pyq.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/article_content_share_weixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_share_weixin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baokan_small_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/baokan_small_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_back_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_back_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_back_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_back_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_collection_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_comment_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_comment_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_edit_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_edit_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_edit_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_edit_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_font_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_font_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_save_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_save_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_share_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_share_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_bar_share_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_share_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/channel_nav_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/channel_nav_plus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/comment_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/comment_support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_support.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/comment_support_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_support_highlighted.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/default_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/default_portrait.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/launch_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/launch_screen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/login_icon_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_code.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/login_icon_phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_phone.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/login_icon_viewcode_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_viewcode_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/login_icon_viewcode_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_viewcode_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/login_icon_yanzhengma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_yanzhengma.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/navigation_logo_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/navigation_logo_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/navigation_right_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/navigation_right_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/news_detail_ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_detail_ad.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/news_list_ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_ad.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/news_list_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/news_list_look.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_look.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/news_list_morepic_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_morepic_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/newscontent_drag_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/newscontent_drag_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/newscontent_drag_return.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/newscontent_drag_return.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/placeholder_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/placeholder_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/placeholder_logo_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/placeholder_logo_big.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_about_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_about_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_arrow_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_clean_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_clean_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_collection_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_collection_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_comment_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_comment_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_feedback_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_feedback_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_footer_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_footer_star.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_footer_wx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_footer_wx.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_mode_daylight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_mode_daylight.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_setting_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_setting_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_share_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_share_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_topbar_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_topbar_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/profile_topbar_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/progress_rotate_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/progress_rotate_loading.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/pull_refresh_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/pull_refresh_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/search_bar_icon_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/search_bar_icon_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/search_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/search_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_platform_qqfriends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_qqfriends.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_platform_sina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_sina.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/share_platform_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_back_arr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_back_arr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_title_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_title_div.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/textfield_clear_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/textfield_clear_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/title_nav_plus_colse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/title_nav_plus_colse.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/title_nav_plus_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/title_nav_plus_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/top_navigation_back_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_back_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/top_navigation_back_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_back_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/top_navigation_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/top_navigation_close_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_close_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/top_navigation_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_edit_input_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xxhdpi/ic_edit_input_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/seabar_input.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xxhdpi/seabar_input.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_button_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_cell_touch_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_button_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_button_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_comment_edittext.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_news_content_share_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_splash_time.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ssdk_oks_classic_platform_cell_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ssdk_oks_classic_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/subscribe_item_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_about_us.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 18 | 19 | 20 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_agreement.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 18 | 19 | 20 | 26 | 27 | 28 | 29 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_collection_record.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 18 | 19 | 20 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_comment_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 17 | 18 | 19 | 20 | 26 | 27 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_comment_record.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 18 | 19 | 20 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_photo_browser.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 31 | 32 | 40 | 41 | 42 | 51 | 52 | 53 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 20 | 21 | 30 | 31 | 41 | 42 | 43 | 44 | 49 | 50 | 51 | 57 | 58 | 59 | 60 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_search_result.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 28 | 29 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 21 | 22 | 26 | 27 | 38 | 39 | 47 | 48 |