├── .classpath ├── .gitignore ├── .project ├── .settings ├── org.eclipse.core.resources.prefs └── org.eclipse.jdt.core.prefs ├── AndroidManifest.xml ├── README.md ├── bin ├── AndroidManifest.xml ├── R.txt ├── classes │ └── com │ │ └── gc │ │ └── flashview │ │ ├── BuildConfig.class │ │ ├── FlashView$FixedSpeedScroller.class │ │ ├── FlashView$ImageHandler.class │ │ ├── FlashView$MyPageChangeListener.class │ │ ├── FlashView$MyPagerAdapter$1.class │ │ ├── FlashView$MyPagerAdapter.class │ │ ├── FlashView.class │ │ ├── ImageLoaderTools.class │ │ ├── R$anim.class │ │ ├── R$attr.class │ │ ├── R$bool.class │ │ ├── R$color.class │ │ ├── R$dimen.class │ │ ├── R$drawable.class │ │ ├── R$id.class │ │ ├── R$integer.class │ │ ├── R$layout.class │ │ ├── R$string.class │ │ ├── R$style.class │ │ ├── R$styleable.class │ │ ├── R.class │ │ ├── constants │ │ └── EffectConstants.class │ │ ├── effect │ │ ├── AccordionTransformer.class │ │ ├── CubeTransformer.class │ │ ├── DefaultTransformer.class │ │ ├── DepthPageTransformer.class │ │ ├── InRightDownTransformer.class │ │ ├── InRightUpTransformer.class │ │ ├── RotateTransformer.class │ │ └── ZoomOutPageTransformer.class │ │ └── listener │ │ └── FlashViewListener.class ├── flashview.jar ├── jarlist.cache └── res │ └── crunch │ ├── drawable-hdpi │ ├── defaultflashview.png │ ├── dot_light.png │ ├── dot_white.png │ └── ic_launcher.png │ ├── drawable-mdpi │ └── ic_launcher.png │ ├── drawable-xhdpi │ └── ic_launcher.png │ └── drawable-xxhdpi │ └── ic_launcher.png ├── gen └── com │ └── gc │ └── flashview │ ├── BuildConfig.java │ └── R.java ├── ic_launcher-web.png ├── images ├── flashviewgit.gif └── flashviewgit20150128.gif ├── libs ├── android-support-v4.jar ├── nineoldandroids-2.4.0.jar └── universal-image-loader-1.9.3.jar ├── proguard-project.txt ├── project.properties ├── res ├── drawable-hdpi │ ├── defaultflashview.png │ ├── dot_light.png │ ├── dot_white.png │ ├── ic_launcher.png │ └── image_holder.xml ├── drawable-mdpi │ └── ic_launcher.png ├── drawable-xhdpi │ └── ic_launcher.png ├── drawable-xxhdpi │ └── ic_launcher.png ├── layout │ └── layout_slideshow.xml ├── values-v11 │ └── styles.xml ├── values-v14 │ └── styles.xml └── values │ ├── attrs.xml │ ├── strings.xml │ └── styles.xml └── src └── com └── gc └── flashview ├── FlashView.java ├── ImageLoaderTools.java ├── constants └── EffectConstants.java ├── effect ├── AccordionTransformer.java ├── CubeTransformer.java ├── DefaultTransformer.java ├── DepthPageTransformer.java ├── InRightDownTransformer.java ├── InRightUpTransformer.java ├── RotateTransformer.java └── ZoomOutPageTransformer.java └── listener └── FlashViewListener.java /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/.gitignore -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | flashview 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/com/gc/flashview/FlashView.java=UTF-8 3 | encoding/=UTF-8 4 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | flashview 2 | ========= 3 | 4 | 首页广告位轮播,用于应用程序首页的轮播图,如下图所展示: 5 | 6 | ![image] (https://github.com/gcgongchao/flashview/raw/master/images/flashviewgit20150128.gif) 7 | 8 | 使用此library时实现上图中的轮播效果时,分为以下两步骤:
9 | (1)在布局文件中加入如下代码块:
10 | 11 | 18 | (2)在Activity或Fragment中,想如下那样使用该控件:
19 | 20 | flashView=(FlashView)findViewById(R.id.flash_view); 21 | imageUrls=new ArrayList(); 22 | imageUrls.add("http://www.qipaox.com/tupian/200810/20081051924582.jpg"); 23 | imageUrls.add("http://www.bz55.com/uploads1/allimg/120312/1_120312100435_8.jpg"); 24 | imageUrls.add("http://img3.iqilu.com/data/attachment/forum/201308/21/192654ai88zf6zaa60zddo.jpg"); 25 | imageUrls.add("http://img2.pconline.com.cn/pconline/0706/19/1038447_34.jpg");
26 | imageUrls.add("http://www.kole8.com/desktop/desk_file-11/2/2/2012/11/2012113013552959.jpg"); 27 | imageUrls.add("http://www.237.cc/uploads/pcline/712_0_1680x1050.jpg"); 28 | flashView.setImageUris(imageUrls); 29 | flashView.setEffect(EffectConstants.CUBE_EFFECT);//更改图片切换的动画效果 30 | 31 | 此代码使用比较简单,后续我会加入轮播切换的效果,至于切换动画的一些类已经在里面了,下次更新时,将和自定义的控件一起使用。
32 | (3)如果想对图片进行点击事件监听,可以在你的Activity或Fragment使用setOnPageClickListener,用法如下:
33 | 34 | 35 | 36 | 37 | flashView.setOnPageClickListener(new FlashViewListener() { 38 | @Override 39 | public void onClick(int position) { 40 | Toast.makeText(getApplicationContext(), "你的点击的是第"+(position+1)+"张图片!", 1000).show(); 41 | }}); 42 | 43 | 或者如下使用: 44 | 45 | 46 | flashView.setOnPageClickListener(new FlashViewListener(this); 47 | @Override 48 | public void onClick(int position) { 49 | // TODO Auto-generated method stub 50 | Toast.makeText(getApplicationContext(), "你的点击的是第"+(position+1)+"张图片!", 1000).show(); 51 | } 52 | 如把FlashView作为HeadView的时候,会有一个不会滚动的bug,按照如下方式修改FlashView即可: 53 | 54 | private void initUI(Context context) { 55 | imageViewsList = new ArrayList(); 56 | dotViewsList = new ArrayList(); 57 | imageUris = new ArrayList(); 58 | mBitmapLoader =new BitmapLoader(context); 59 | View view=LayoutInflater.from(context).inflate(R.layout.layout_slideshow, null); 60 | mLinearLayout = (LinearLayout) view.findViewById(R.id.linearlayout); 61 | mViewPager = (ViewPager) view.findViewById(R.id.viewpager); 62 | /** 63 | * 解决FlashView作为HeadView时的滑动冲突 64 | */ 65 | mViewPager.setOnTouchListener(new OnTouchListener() { 66 | 67 | 68 | @Override 69 | public boolean onTouch(View v, MotionEvent event) { 70 | // TODO Auto-generated method stub 71 | PointF downP = new PointF(); 72 | PointF curP = new PointF(); 73 | int act = event.getAction(); 74 | if(act == MotionEvent.ACTION_DOWN || act == MotionEvent.ACTION_MOVE || act == MotionEvent.ACTION_UP){ 75 | ((ViewGroup) v).requestDisallowInterceptTouchEvent(true); 76 | if (downP.x == curP.x && downP.y == curP.y) { 77 | return false; 78 | } 79 | } 80 | return false; 81 | } 82 | }); 83 | addView(view); 84 | 85 | // mFlashViewListener必须实例化 86 | 87 | } 88 | 如果在使用过程有任何bug,意见和指导,欢迎反馈与指导。本次加入的动画效果的代码来源于网络,在此感谢贡献此动画效果的作者。下次更新会尝试加入自己写的动画效果,欢迎star。 89 | [楼主博客地址](http://blog.csdn.net/android_jiangjun/article/details/39638129)
(Android Studio版的Demo下载地址在这个链接的博文末尾) 90 | -------------------------------------------------------------------------------- /bin/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /bin/R.txt: -------------------------------------------------------------------------------- 1 | int anim abc_fade_in 0x7f040000 2 | int anim abc_fade_out 0x7f040001 3 | int anim abc_slide_in_bottom 0x7f040002 4 | int anim abc_slide_in_top 0x7f040003 5 | int anim abc_slide_out_bottom 0x7f040004 6 | int anim abc_slide_out_top 0x7f040005 7 | int attr actionBarDivider 0x7f01000f 8 | int attr actionBarItemBackground 0x7f010010 9 | int attr actionBarSize 0x7f01000e 10 | int attr actionBarSplitStyle 0x7f01000c 11 | int attr actionBarStyle 0x7f01000b 12 | int attr actionBarTabBarStyle 0x7f010008 13 | int attr actionBarTabStyle 0x7f010007 14 | int attr actionBarTabTextStyle 0x7f010009 15 | int attr actionBarWidgetTheme 0x7f01000d 16 | int attr actionButtonStyle 0x7f010016 17 | int attr actionDropDownStyle 0x7f010047 18 | int attr actionLayout 0x7f01004e 19 | int attr actionMenuTextAppearance 0x7f010011 20 | int attr actionMenuTextColor 0x7f010012 21 | int attr actionModeBackground 0x7f01003c 22 | int attr actionModeCloseButtonStyle 0x7f01003b 23 | int attr actionModeCloseDrawable 0x7f01003e 24 | int attr actionModeCopyDrawable 0x7f010040 25 | int attr actionModeCutDrawable 0x7f01003f 26 | int attr actionModeFindDrawable 0x7f010044 27 | int attr actionModePasteDrawable 0x7f010041 28 | int attr actionModePopupWindowStyle 0x7f010046 29 | int attr actionModeSelectAllDrawable 0x7f010042 30 | int attr actionModeShareDrawable 0x7f010043 31 | int attr actionModeSplitBackground 0x7f01003d 32 | int attr actionModeStyle 0x7f01003a 33 | int attr actionModeWebSearchDrawable 0x7f010045 34 | int attr actionOverflowButtonStyle 0x7f01000a 35 | int attr actionProviderClass 0x7f010050 36 | int attr actionViewClass 0x7f01004f 37 | int attr activityChooserViewStyle 0x7f01006c 38 | int attr background 0x7f01002f 39 | int attr backgroundSplit 0x7f010031 40 | int attr backgroundStacked 0x7f010030 41 | int attr buttonBarButtonStyle 0x7f010018 42 | int attr buttonBarStyle 0x7f010017 43 | int attr customNavigationLayout 0x7f010032 44 | int attr disableChildrenWhenDisabled 0x7f010054 45 | int attr displayOptions 0x7f010028 46 | int attr divider 0x7f01002e 47 | int attr dividerHorizontal 0x7f01001b 48 | int attr dividerPadding 0x7f010056 49 | int attr dividerVertical 0x7f01001a 50 | int attr dropDownListViewStyle 0x7f010021 51 | int attr dropdownListPreferredItemHeight 0x7f010048 52 | int attr effect 0x7f01006e 53 | int attr expandActivityOverflowButtonDrawable 0x7f01006b 54 | int attr height 0x7f010026 55 | int attr homeAsUpIndicator 0x7f010013 56 | int attr homeLayout 0x7f010033 57 | int attr icon 0x7f01002c 58 | int attr iconifiedByDefault 0x7f01005a 59 | int attr indeterminateProgressStyle 0x7f010035 60 | int attr initialActivityCount 0x7f01006a 61 | int attr isLightTheme 0x7f010059 62 | int attr itemPadding 0x7f010037 63 | int attr listChoiceBackgroundIndicator 0x7f01004c 64 | int attr listPopupWindowStyle 0x7f010022 65 | int attr listPreferredItemHeight 0x7f01001c 66 | int attr listPreferredItemHeightLarge 0x7f01001e 67 | int attr listPreferredItemHeightSmall 0x7f01001d 68 | int attr listPreferredItemPaddingLeft 0x7f01001f 69 | int attr listPreferredItemPaddingRight 0x7f010020 70 | int attr logo 0x7f01002d 71 | int attr navigationMode 0x7f010027 72 | int attr paddingEnd 0x7f010039 73 | int attr paddingStart 0x7f010038 74 | int attr panelMenuListTheme 0x7f01004b 75 | int attr panelMenuListWidth 0x7f01004a 76 | int attr popupMenuStyle 0x7f010049 77 | int attr popupPromptView 0x7f010053 78 | int attr progressBarPadding 0x7f010036 79 | int attr progressBarStyle 0x7f010034 80 | int attr prompt 0x7f010051 81 | int attr queryHint 0x7f01005b 82 | int attr searchDropdownBackground 0x7f01005c 83 | int attr searchResultListItemHeight 0x7f010065 84 | int attr searchViewAutoCompleteTextView 0x7f010069 85 | int attr searchViewCloseIcon 0x7f01005d 86 | int attr searchViewEditQuery 0x7f010061 87 | int attr searchViewEditQueryBackground 0x7f010062 88 | int attr searchViewGoIcon 0x7f01005e 89 | int attr searchViewSearchIcon 0x7f01005f 90 | int attr searchViewTextField 0x7f010063 91 | int attr searchViewTextFieldRight 0x7f010064 92 | int attr searchViewVoiceIcon 0x7f010060 93 | int attr selectableItemBackground 0x7f010019 94 | int attr showAsAction 0x7f01004d 95 | int attr showDividers 0x7f010055 96 | int attr spinnerDropDownItemStyle 0x7f010058 97 | int attr spinnerMode 0x7f010052 98 | int attr spinnerStyle 0x7f010057 99 | int attr subtitle 0x7f010029 100 | int attr subtitleTextStyle 0x7f01002b 101 | int attr textAllCaps 0x7f01006d 102 | int attr textAppearanceLargePopupMenu 0x7f010014 103 | int attr textAppearanceListItem 0x7f010023 104 | int attr textAppearanceListItemSmall 0x7f010024 105 | int attr textAppearanceSearchResultSubtitle 0x7f010067 106 | int attr textAppearanceSearchResultTitle 0x7f010066 107 | int attr textAppearanceSmallPopupMenu 0x7f010015 108 | int attr textColorSearchUrl 0x7f010068 109 | int attr title 0x7f010025 110 | int attr titleTextStyle 0x7f01002a 111 | int attr windowActionBar 0x7f010000 112 | int attr windowActionBarOverlay 0x7f010001 113 | int attr windowFixedHeightMajor 0x7f010006 114 | int attr windowFixedHeightMinor 0x7f010004 115 | int attr windowFixedWidthMajor 0x7f010003 116 | int attr windowFixedWidthMinor 0x7f010005 117 | int attr windowSplitActionBar 0x7f010002 118 | int bool abc_action_bar_embed_tabs_pre_jb 0x7f050000 119 | int bool abc_action_bar_expanded_action_views_exclusive 0x7f050001 120 | int bool abc_config_actionMenuItemAllCaps 0x7f050005 121 | int bool abc_config_allowActionMenuItemTextWithIcon 0x7f050004 122 | int bool abc_config_showMenuShortcutsWhenKeyboardPresent 0x7f050003 123 | int bool abc_split_action_bar_is_narrow 0x7f050002 124 | int color abc_search_url_text_holo 0x7f060003 125 | int color abc_search_url_text_normal 0x7f060000 126 | int color abc_search_url_text_pressed 0x7f060002 127 | int color abc_search_url_text_selected 0x7f060001 128 | int dimen abc_action_bar_default_height 0x7f070002 129 | int dimen abc_action_bar_icon_vertical_padding 0x7f070003 130 | int dimen abc_action_bar_progress_bar_size 0x7f07000a 131 | int dimen abc_action_bar_stacked_max_height 0x7f070009 132 | int dimen abc_action_bar_stacked_tab_max_width 0x7f070001 133 | int dimen abc_action_bar_subtitle_bottom_margin 0x7f070007 134 | int dimen abc_action_bar_subtitle_text_size 0x7f070005 135 | int dimen abc_action_bar_subtitle_top_margin 0x7f070006 136 | int dimen abc_action_bar_title_text_size 0x7f070004 137 | int dimen abc_action_button_min_width 0x7f070008 138 | int dimen abc_config_prefDialogWidth 0x7f070000 139 | int dimen abc_dropdownitem_icon_width 0x7f070010 140 | int dimen abc_dropdownitem_text_padding_left 0x7f07000e 141 | int dimen abc_dropdownitem_text_padding_right 0x7f07000f 142 | int dimen abc_panel_menu_list_width 0x7f07000b 143 | int dimen abc_search_view_preferred_width 0x7f07000d 144 | int dimen abc_search_view_text_min_width 0x7f07000c 145 | int dimen dialog_fixed_height_major 0x7f070013 146 | int dimen dialog_fixed_height_minor 0x7f070014 147 | int dimen dialog_fixed_width_major 0x7f070011 148 | int dimen dialog_fixed_width_minor 0x7f070012 149 | int drawable abc_ab_bottom_solid_dark_holo 0x7f020000 150 | int drawable abc_ab_bottom_solid_light_holo 0x7f020001 151 | int drawable abc_ab_bottom_transparent_dark_holo 0x7f020002 152 | int drawable abc_ab_bottom_transparent_light_holo 0x7f020003 153 | int drawable abc_ab_share_pack_holo_dark 0x7f020004 154 | int drawable abc_ab_share_pack_holo_light 0x7f020005 155 | int drawable abc_ab_solid_dark_holo 0x7f020006 156 | int drawable abc_ab_solid_light_holo 0x7f020007 157 | int drawable abc_ab_stacked_solid_dark_holo 0x7f020008 158 | int drawable abc_ab_stacked_solid_light_holo 0x7f020009 159 | int drawable abc_ab_stacked_transparent_dark_holo 0x7f02000a 160 | int drawable abc_ab_stacked_transparent_light_holo 0x7f02000b 161 | int drawable abc_ab_transparent_dark_holo 0x7f02000c 162 | int drawable abc_ab_transparent_light_holo 0x7f02000d 163 | int drawable abc_cab_background_bottom_holo_dark 0x7f02000e 164 | int drawable abc_cab_background_bottom_holo_light 0x7f02000f 165 | int drawable abc_cab_background_top_holo_dark 0x7f020010 166 | int drawable abc_cab_background_top_holo_light 0x7f020011 167 | int drawable abc_ic_ab_back_holo_dark 0x7f020012 168 | int drawable abc_ic_ab_back_holo_light 0x7f020013 169 | int drawable abc_ic_cab_done_holo_dark 0x7f020014 170 | int drawable abc_ic_cab_done_holo_light 0x7f020015 171 | int drawable abc_ic_clear 0x7f020016 172 | int drawable abc_ic_clear_disabled 0x7f020017 173 | int drawable abc_ic_clear_holo_light 0x7f020018 174 | int drawable abc_ic_clear_normal 0x7f020019 175 | int drawable abc_ic_clear_search_api_disabled_holo_light 0x7f02001a 176 | int drawable abc_ic_clear_search_api_holo_light 0x7f02001b 177 | int drawable abc_ic_commit_search_api_holo_dark 0x7f02001c 178 | int drawable abc_ic_commit_search_api_holo_light 0x7f02001d 179 | int drawable abc_ic_go 0x7f02001e 180 | int drawable abc_ic_go_search_api_holo_light 0x7f02001f 181 | int drawable abc_ic_menu_moreoverflow_normal_holo_dark 0x7f020020 182 | int drawable abc_ic_menu_moreoverflow_normal_holo_light 0x7f020021 183 | int drawable abc_ic_menu_share_holo_dark 0x7f020022 184 | int drawable abc_ic_menu_share_holo_light 0x7f020023 185 | int drawable abc_ic_search 0x7f020024 186 | int drawable abc_ic_search_api_holo_light 0x7f020025 187 | int drawable abc_ic_voice_search 0x7f020026 188 | int drawable abc_ic_voice_search_api_holo_light 0x7f020027 189 | int drawable abc_item_background_holo_dark 0x7f020028 190 | int drawable abc_item_background_holo_light 0x7f020029 191 | int drawable abc_list_divider_holo_dark 0x7f02002a 192 | int drawable abc_list_divider_holo_light 0x7f02002b 193 | int drawable abc_list_focused_holo 0x7f02002c 194 | int drawable abc_list_longpressed_holo 0x7f02002d 195 | int drawable abc_list_pressed_holo_dark 0x7f02002e 196 | int drawable abc_list_pressed_holo_light 0x7f02002f 197 | int drawable abc_list_selector_background_transition_holo_dark 0x7f020030 198 | int drawable abc_list_selector_background_transition_holo_light 0x7f020031 199 | int drawable abc_list_selector_disabled_holo_dark 0x7f020032 200 | int drawable abc_list_selector_disabled_holo_light 0x7f020033 201 | int drawable abc_list_selector_holo_dark 0x7f020034 202 | int drawable abc_list_selector_holo_light 0x7f020035 203 | int drawable abc_menu_dropdown_panel_holo_dark 0x7f020036 204 | int drawable abc_menu_dropdown_panel_holo_light 0x7f020037 205 | int drawable abc_menu_hardkey_panel_holo_dark 0x7f020038 206 | int drawable abc_menu_hardkey_panel_holo_light 0x7f020039 207 | int drawable abc_search_dropdown_dark 0x7f02003a 208 | int drawable abc_search_dropdown_light 0x7f02003b 209 | int drawable abc_spinner_ab_default_holo_dark 0x7f02003c 210 | int drawable abc_spinner_ab_default_holo_light 0x7f02003d 211 | int drawable abc_spinner_ab_disabled_holo_dark 0x7f02003e 212 | int drawable abc_spinner_ab_disabled_holo_light 0x7f02003f 213 | int drawable abc_spinner_ab_focused_holo_dark 0x7f020040 214 | int drawable abc_spinner_ab_focused_holo_light 0x7f020041 215 | int drawable abc_spinner_ab_holo_dark 0x7f020042 216 | int drawable abc_spinner_ab_holo_light 0x7f020043 217 | int drawable abc_spinner_ab_pressed_holo_dark 0x7f020044 218 | int drawable abc_spinner_ab_pressed_holo_light 0x7f020045 219 | int drawable abc_tab_indicator_ab_holo 0x7f020046 220 | int drawable abc_tab_selected_focused_holo 0x7f020047 221 | int drawable abc_tab_selected_holo 0x7f020048 222 | int drawable abc_tab_selected_pressed_holo 0x7f020049 223 | int drawable abc_tab_unselected_pressed_holo 0x7f02004a 224 | int drawable abc_textfield_search_default_holo_dark 0x7f02004b 225 | int drawable abc_textfield_search_default_holo_light 0x7f02004c 226 | int drawable abc_textfield_search_right_default_holo_dark 0x7f02004d 227 | int drawable abc_textfield_search_right_default_holo_light 0x7f02004e 228 | int drawable abc_textfield_search_right_selected_holo_dark 0x7f02004f 229 | int drawable abc_textfield_search_right_selected_holo_light 0x7f020050 230 | int drawable abc_textfield_search_selected_holo_dark 0x7f020051 231 | int drawable abc_textfield_search_selected_holo_light 0x7f020052 232 | int drawable abc_textfield_searchview_holo_dark 0x7f020053 233 | int drawable abc_textfield_searchview_holo_light 0x7f020054 234 | int drawable abc_textfield_searchview_right_holo_dark 0x7f020055 235 | int drawable abc_textfield_searchview_right_holo_light 0x7f020056 236 | int drawable defaultflashview 0x7f020057 237 | int drawable dot_light 0x7f020058 238 | int drawable dot_white 0x7f020059 239 | int drawable ic_launcher 0x7f02005a 240 | int drawable image_holder 0x7f02005b 241 | int id accordion 0x7f09001a 242 | int id action_bar 0x7f090024 243 | int id action_bar_activity_content 0x7f090001 244 | int id action_bar_container 0x7f090023 245 | int id action_bar_overlay_layout 0x7f090027 246 | int id action_bar_root 0x7f090022 247 | int id action_bar_subtitle 0x7f09002b 248 | int id action_bar_title 0x7f09002a 249 | int id action_context_bar 0x7f090025 250 | int id action_menu_divider 0x7f090002 251 | int id action_menu_presenter 0x7f090003 252 | int id action_mode_close_button 0x7f09002c 253 | int id activity_chooser_view_content 0x7f09002d 254 | int id always 0x7f09000f 255 | int id beginning 0x7f090016 256 | int id checkbox 0x7f090035 257 | int id collapseActionView 0x7f090010 258 | int id cube 0x7f09001b 259 | int id def 0x7f09001c 260 | int id default_activity_button 0x7f090030 261 | int id depthPage 0x7f09001d 262 | int id dialog 0x7f090014 263 | int id disableHome 0x7f090009 264 | int id dropdown 0x7f090015 265 | int id edit_query 0x7f090038 266 | int id end 0x7f090017 267 | int id expand_activities_button 0x7f09002e 268 | int id expanded_menu 0x7f090034 269 | int id home 0x7f090000 270 | int id homeAsUp 0x7f09000a 271 | int id icon 0x7f090032 272 | int id ifRoom 0x7f090011 273 | int id image 0x7f09002f 274 | int id inRightDown 0x7f09001e 275 | int id inRightUp 0x7f09001f 276 | int id linearlayout 0x7f090045 277 | int id listMode 0x7f090006 278 | int id list_item 0x7f090031 279 | int id middle 0x7f090018 280 | int id never 0x7f090012 281 | int id none 0x7f090019 282 | int id normal 0x7f090007 283 | int id progress_circular 0x7f090004 284 | int id progress_horizontal 0x7f090005 285 | int id radio 0x7f090037 286 | int id rotate 0x7f090020 287 | int id search_badge 0x7f09003a 288 | int id search_bar 0x7f090039 289 | int id search_button 0x7f09003b 290 | int id search_close_btn 0x7f090040 291 | int id search_edit_frame 0x7f09003c 292 | int id search_go_btn 0x7f090042 293 | int id search_mag_icon 0x7f09003d 294 | int id search_plate 0x7f09003e 295 | int id search_src_text 0x7f09003f 296 | int id search_voice_btn 0x7f090043 297 | int id shortcut 0x7f090036 298 | int id showCustom 0x7f09000b 299 | int id showHome 0x7f09000c 300 | int id showTitle 0x7f09000d 301 | int id split_action_bar 0x7f090026 302 | int id submit_area 0x7f090041 303 | int id tabMode 0x7f090008 304 | int id title 0x7f090033 305 | int id top_action_bar 0x7f090028 306 | int id up 0x7f090029 307 | int id useLogo 0x7f09000e 308 | int id viewPager 0x7f090044 309 | int id withText 0x7f090013 310 | int id zoomOutPage 0x7f090021 311 | int integer abc_max_action_buttons 0x7f080000 312 | int layout abc_action_bar_decor 0x7f030000 313 | int layout abc_action_bar_decor_include 0x7f030001 314 | int layout abc_action_bar_decor_overlay 0x7f030002 315 | int layout abc_action_bar_home 0x7f030003 316 | int layout abc_action_bar_tab 0x7f030004 317 | int layout abc_action_bar_tabbar 0x7f030005 318 | int layout abc_action_bar_title_item 0x7f030006 319 | int layout abc_action_bar_view_list_nav_layout 0x7f030007 320 | int layout abc_action_menu_item_layout 0x7f030008 321 | int layout abc_action_menu_layout 0x7f030009 322 | int layout abc_action_mode_bar 0x7f03000a 323 | int layout abc_action_mode_close_item 0x7f03000b 324 | int layout abc_activity_chooser_view 0x7f03000c 325 | int layout abc_activity_chooser_view_include 0x7f03000d 326 | int layout abc_activity_chooser_view_list_item 0x7f03000e 327 | int layout abc_expanded_menu_layout 0x7f03000f 328 | int layout abc_list_menu_item_checkbox 0x7f030010 329 | int layout abc_list_menu_item_icon 0x7f030011 330 | int layout abc_list_menu_item_layout 0x7f030012 331 | int layout abc_list_menu_item_radio 0x7f030013 332 | int layout abc_popup_menu_item_layout 0x7f030014 333 | int layout abc_search_dropdown_item_icons_2line 0x7f030015 334 | int layout abc_search_view 0x7f030016 335 | int layout abc_simple_decor 0x7f030017 336 | int layout layout_slideshow 0x7f030018 337 | int layout support_simple_spinner_dropdown_item 0x7f030019 338 | int string abc_action_bar_home_description 0x7f0a0001 339 | int string abc_action_bar_up_description 0x7f0a0002 340 | int string abc_action_menu_overflow_description 0x7f0a0003 341 | int string abc_action_mode_done 0x7f0a0000 342 | int string abc_activity_chooser_view_see_all 0x7f0a000a 343 | int string abc_activitychooserview_choose_application 0x7f0a0009 344 | int string abc_searchview_description_clear 0x7f0a0006 345 | int string abc_searchview_description_query 0x7f0a0005 346 | int string abc_searchview_description_search 0x7f0a0004 347 | int string abc_searchview_description_submit 0x7f0a0007 348 | int string abc_searchview_description_voice 0x7f0a0008 349 | int string abc_shareactionprovider_share_with 0x7f0a000c 350 | int string abc_shareactionprovider_share_with_application 0x7f0a000b 351 | int string app_name 0x7f0a000d 352 | int string hello_world 0x7f0a000e 353 | int style TextAppearance_AppCompat_Base_CompactMenu_Dialog 0x7f0b0063 354 | int style TextAppearance_AppCompat_Base_SearchResult 0x7f0b006d 355 | int style TextAppearance_AppCompat_Base_SearchResult_Subtitle 0x7f0b006f 356 | int style TextAppearance_AppCompat_Base_SearchResult_Title 0x7f0b006e 357 | int style TextAppearance_AppCompat_Base_Widget_PopupMenu_Large 0x7f0b0069 358 | int style TextAppearance_AppCompat_Base_Widget_PopupMenu_Small 0x7f0b006a 359 | int style TextAppearance_AppCompat_Light_Base_SearchResult 0x7f0b0070 360 | int style TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle 0x7f0b0072 361 | int style TextAppearance_AppCompat_Light_Base_SearchResult_Title 0x7f0b0071 362 | int style TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large 0x7f0b006b 363 | int style TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small 0x7f0b006c 364 | int style TextAppearance_AppCompat_Light_SearchResult_Subtitle 0x7f0b0035 365 | int style TextAppearance_AppCompat_Light_SearchResult_Title 0x7f0b0034 366 | int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x7f0b0030 367 | int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x7f0b0031 368 | int style TextAppearance_AppCompat_SearchResult_Subtitle 0x7f0b0033 369 | int style TextAppearance_AppCompat_SearchResult_Title 0x7f0b0032 370 | int style TextAppearance_AppCompat_Widget_ActionBar_Menu 0x7f0b001a 371 | int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x7f0b0006 372 | int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x7f0b0008 373 | int style TextAppearance_AppCompat_Widget_ActionBar_Title 0x7f0b0005 374 | int style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x7f0b0007 375 | int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x7f0b001e 376 | int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse 0x7f0b0020 377 | int style TextAppearance_AppCompat_Widget_ActionMode_Title 0x7f0b001d 378 | int style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse 0x7f0b001f 379 | int style TextAppearance_AppCompat_Widget_Base_ActionBar_Menu 0x7f0b0054 380 | int style TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle 0x7f0b0056 381 | int style TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse 0x7f0b0058 382 | int style TextAppearance_AppCompat_Widget_Base_ActionBar_Title 0x7f0b0055 383 | int style TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse 0x7f0b0057 384 | int style TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle 0x7f0b0051 385 | int style TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse 0x7f0b0053 386 | int style TextAppearance_AppCompat_Widget_Base_ActionMode_Title 0x7f0b0050 387 | int style TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse 0x7f0b0052 388 | int style TextAppearance_AppCompat_Widget_Base_DropDownItem 0x7f0b0061 389 | int style TextAppearance_AppCompat_Widget_DropDownItem 0x7f0b0021 390 | int style TextAppearance_AppCompat_Widget_PopupMenu_Large 0x7f0b002e 391 | int style TextAppearance_AppCompat_Widget_PopupMenu_Small 0x7f0b002f 392 | int style TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item 0x7f0b0062 393 | int style TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x7f0b0028 394 | int style Theme_AppCompat 0x7f0b0077 395 | int style Theme_AppCompat_Base_CompactMenu 0x7f0b0083 396 | int style Theme_AppCompat_Base_CompactMenu_Dialog 0x7f0b0084 397 | int style Theme_AppCompat_CompactMenu 0x7f0b007c 398 | int style Theme_AppCompat_CompactMenu_Dialog 0x7f0b007d 399 | int style Theme_AppCompat_DialogWhenLarge 0x7f0b007a 400 | int style Theme_AppCompat_Light 0x7f0b0078 401 | int style Theme_AppCompat_Light_DarkActionBar 0x7f0b0079 402 | int style Theme_AppCompat_Light_DialogWhenLarge 0x7f0b007b 403 | int style Theme_Base 0x7f0b007e 404 | int style Theme_Base_AppCompat 0x7f0b0080 405 | int style Theme_Base_AppCompat_Dialog_FixedSize 0x7f0b0087 406 | int style Theme_Base_AppCompat_Dialog_Light_FixedSize 0x7f0b0088 407 | int style Theme_Base_AppCompat_DialogWhenLarge 0x7f0b0085 408 | int style Theme_Base_AppCompat_DialogWhenLarge_Base 0x7f0b0089 409 | int style Theme_Base_AppCompat_Light 0x7f0b0081 410 | int style Theme_Base_AppCompat_Light_DarkActionBar 0x7f0b0082 411 | int style Theme_Base_AppCompat_Light_DialogWhenLarge 0x7f0b0086 412 | int style Theme_Base_AppCompat_Light_DialogWhenLarge_Base 0x7f0b008a 413 | int style Theme_Base_Light 0x7f0b007f 414 | int style Widget_AppCompat_ActionBar 0x7f0b0000 415 | int style Widget_AppCompat_ActionBar_Solid 0x7f0b0002 416 | int style Widget_AppCompat_ActionBar_TabBar 0x7f0b0011 417 | int style Widget_AppCompat_ActionBar_TabText 0x7f0b0017 418 | int style Widget_AppCompat_ActionBar_TabView 0x7f0b0014 419 | int style Widget_AppCompat_ActionButton 0x7f0b000b 420 | int style Widget_AppCompat_ActionButton_CloseMode 0x7f0b000d 421 | int style Widget_AppCompat_ActionButton_Overflow 0x7f0b000f 422 | int style Widget_AppCompat_ActionMode 0x7f0b001b 423 | int style Widget_AppCompat_ActivityChooserView 0x7f0b0038 424 | int style Widget_AppCompat_AutoCompleteTextView 0x7f0b0036 425 | int style Widget_AppCompat_Base_ActionBar 0x7f0b003a 426 | int style Widget_AppCompat_Base_ActionBar_Solid 0x7f0b003c 427 | int style Widget_AppCompat_Base_ActionBar_TabBar 0x7f0b0045 428 | int style Widget_AppCompat_Base_ActionBar_TabText 0x7f0b004b 429 | int style Widget_AppCompat_Base_ActionBar_TabView 0x7f0b0048 430 | int style Widget_AppCompat_Base_ActionButton 0x7f0b003f 431 | int style Widget_AppCompat_Base_ActionButton_CloseMode 0x7f0b0041 432 | int style Widget_AppCompat_Base_ActionButton_Overflow 0x7f0b0043 433 | int style Widget_AppCompat_Base_ActionMode 0x7f0b004e 434 | int style Widget_AppCompat_Base_ActivityChooserView 0x7f0b0075 435 | int style Widget_AppCompat_Base_AutoCompleteTextView 0x7f0b0073 436 | int style Widget_AppCompat_Base_DropDownItem_Spinner 0x7f0b005d 437 | int style Widget_AppCompat_Base_ListPopupWindow 0x7f0b0065 438 | int style Widget_AppCompat_Base_ListView_DropDown 0x7f0b005f 439 | int style Widget_AppCompat_Base_ListView_Menu 0x7f0b0064 440 | int style Widget_AppCompat_Base_PopupMenu 0x7f0b0067 441 | int style Widget_AppCompat_Base_ProgressBar 0x7f0b005a 442 | int style Widget_AppCompat_Base_ProgressBar_Horizontal 0x7f0b0059 443 | int style Widget_AppCompat_Base_Spinner 0x7f0b005b 444 | int style Widget_AppCompat_DropDownItem_Spinner 0x7f0b0024 445 | int style Widget_AppCompat_Light_ActionBar 0x7f0b0001 446 | int style Widget_AppCompat_Light_ActionBar_Solid 0x7f0b0003 447 | int style Widget_AppCompat_Light_ActionBar_Solid_Inverse 0x7f0b0004 448 | int style Widget_AppCompat_Light_ActionBar_TabBar 0x7f0b0012 449 | int style Widget_AppCompat_Light_ActionBar_TabBar_Inverse 0x7f0b0013 450 | int style Widget_AppCompat_Light_ActionBar_TabText 0x7f0b0018 451 | int style Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x7f0b0019 452 | int style Widget_AppCompat_Light_ActionBar_TabView 0x7f0b0015 453 | int style Widget_AppCompat_Light_ActionBar_TabView_Inverse 0x7f0b0016 454 | int style Widget_AppCompat_Light_ActionButton 0x7f0b000c 455 | int style Widget_AppCompat_Light_ActionButton_CloseMode 0x7f0b000e 456 | int style Widget_AppCompat_Light_ActionButton_Overflow 0x7f0b0010 457 | int style Widget_AppCompat_Light_ActionMode_Inverse 0x7f0b001c 458 | int style Widget_AppCompat_Light_ActivityChooserView 0x7f0b0039 459 | int style Widget_AppCompat_Light_AutoCompleteTextView 0x7f0b0037 460 | int style Widget_AppCompat_Light_Base_ActionBar 0x7f0b003b 461 | int style Widget_AppCompat_Light_Base_ActionBar_Solid 0x7f0b003d 462 | int style Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse 0x7f0b003e 463 | int style Widget_AppCompat_Light_Base_ActionBar_TabBar 0x7f0b0046 464 | int style Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse 0x7f0b0047 465 | int style Widget_AppCompat_Light_Base_ActionBar_TabText 0x7f0b004c 466 | int style Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse 0x7f0b004d 467 | int style Widget_AppCompat_Light_Base_ActionBar_TabView 0x7f0b0049 468 | int style Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse 0x7f0b004a 469 | int style Widget_AppCompat_Light_Base_ActionButton 0x7f0b0040 470 | int style Widget_AppCompat_Light_Base_ActionButton_CloseMode 0x7f0b0042 471 | int style Widget_AppCompat_Light_Base_ActionButton_Overflow 0x7f0b0044 472 | int style Widget_AppCompat_Light_Base_ActionMode_Inverse 0x7f0b004f 473 | int style Widget_AppCompat_Light_Base_ActivityChooserView 0x7f0b0076 474 | int style Widget_AppCompat_Light_Base_AutoCompleteTextView 0x7f0b0074 475 | int style Widget_AppCompat_Light_Base_DropDownItem_Spinner 0x7f0b005e 476 | int style Widget_AppCompat_Light_Base_ListPopupWindow 0x7f0b0066 477 | int style Widget_AppCompat_Light_Base_ListView_DropDown 0x7f0b0060 478 | int style Widget_AppCompat_Light_Base_PopupMenu 0x7f0b0068 479 | int style Widget_AppCompat_Light_Base_Spinner 0x7f0b005c 480 | int style Widget_AppCompat_Light_DropDownItem_Spinner 0x7f0b0025 481 | int style Widget_AppCompat_Light_ListPopupWindow 0x7f0b002a 482 | int style Widget_AppCompat_Light_ListView_DropDown 0x7f0b0027 483 | int style Widget_AppCompat_Light_PopupMenu 0x7f0b002c 484 | int style Widget_AppCompat_Light_Spinner_DropDown_ActionBar 0x7f0b0023 485 | int style Widget_AppCompat_ListPopupWindow 0x7f0b0029 486 | int style Widget_AppCompat_ListView_DropDown 0x7f0b0026 487 | int style Widget_AppCompat_ListView_Menu 0x7f0b002d 488 | int style Widget_AppCompat_PopupMenu 0x7f0b002b 489 | int style Widget_AppCompat_ProgressBar 0x7f0b000a 490 | int style Widget_AppCompat_ProgressBar_Horizontal 0x7f0b0009 491 | int style Widget_AppCompat_Spinner_DropDown_ActionBar 0x7f0b0022 492 | int[] styleable ActionBar { 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037 } 493 | int styleable ActionBar_background 10 494 | int styleable ActionBar_backgroundSplit 12 495 | int styleable ActionBar_backgroundStacked 11 496 | int styleable ActionBar_customNavigationLayout 13 497 | int styleable ActionBar_displayOptions 3 498 | int styleable ActionBar_divider 9 499 | int styleable ActionBar_height 1 500 | int styleable ActionBar_homeLayout 14 501 | int styleable ActionBar_icon 7 502 | int styleable ActionBar_indeterminateProgressStyle 16 503 | int styleable ActionBar_itemPadding 18 504 | int styleable ActionBar_logo 8 505 | int styleable ActionBar_navigationMode 2 506 | int styleable ActionBar_progressBarPadding 17 507 | int styleable ActionBar_progressBarStyle 15 508 | int styleable ActionBar_subtitle 4 509 | int styleable ActionBar_subtitleTextStyle 6 510 | int styleable ActionBar_title 0 511 | int styleable ActionBar_titleTextStyle 5 512 | int[] styleable ActionBarLayout { 0x010100b3 } 513 | int styleable ActionBarLayout_android_layout_gravity 0 514 | int[] styleable ActionBarWindow { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 } 515 | int styleable ActionBarWindow_windowActionBar 0 516 | int styleable ActionBarWindow_windowActionBarOverlay 1 517 | int styleable ActionBarWindow_windowFixedHeightMajor 6 518 | int styleable ActionBarWindow_windowFixedHeightMinor 4 519 | int styleable ActionBarWindow_windowFixedWidthMajor 3 520 | int styleable ActionBarWindow_windowFixedWidthMinor 5 521 | int styleable ActionBarWindow_windowSplitActionBar 2 522 | int[] styleable ActionMenuItemView { 0x0101013f } 523 | int styleable ActionMenuItemView_android_minWidth 0 524 | int[] styleable ActionMenuView { } 525 | int[] styleable ActionMode { 0x7f010026, 0x7f01002a, 0x7f01002b, 0x7f01002f, 0x7f010031 } 526 | int styleable ActionMode_background 3 527 | int styleable ActionMode_backgroundSplit 4 528 | int styleable ActionMode_height 0 529 | int styleable ActionMode_subtitleTextStyle 2 530 | int styleable ActionMode_titleTextStyle 1 531 | int[] styleable ActivityChooserView { 0x7f01006a, 0x7f01006b } 532 | int styleable ActivityChooserView_expandActivityOverflowButtonDrawable 1 533 | int styleable ActivityChooserView_initialActivityCount 0 534 | int[] styleable CompatTextView { 0x7f01006d } 535 | int styleable CompatTextView_textAllCaps 0 536 | int[] styleable FlashView { 0x7f01006e } 537 | int styleable FlashView_effect 0 538 | int[] styleable LinearLayoutICS { 0x7f01002e, 0x7f010055, 0x7f010056 } 539 | int styleable LinearLayoutICS_divider 0 540 | int styleable LinearLayoutICS_dividerPadding 2 541 | int styleable LinearLayoutICS_showDividers 1 542 | int[] styleable MenuGroup { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 } 543 | int styleable MenuGroup_android_checkableBehavior 5 544 | int styleable MenuGroup_android_enabled 0 545 | int styleable MenuGroup_android_id 1 546 | int styleable MenuGroup_android_menuCategory 3 547 | int styleable MenuGroup_android_orderInCategory 4 548 | int styleable MenuGroup_android_visible 2 549 | int[] styleable MenuItem { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050 } 550 | int styleable MenuItem_actionLayout 14 551 | int styleable MenuItem_actionProviderClass 16 552 | int styleable MenuItem_actionViewClass 15 553 | int styleable MenuItem_android_alphabeticShortcut 9 554 | int styleable MenuItem_android_checkable 11 555 | int styleable MenuItem_android_checked 3 556 | int styleable MenuItem_android_enabled 1 557 | int styleable MenuItem_android_icon 0 558 | int styleable MenuItem_android_id 2 559 | int styleable MenuItem_android_menuCategory 5 560 | int styleable MenuItem_android_numericShortcut 10 561 | int styleable MenuItem_android_onClick 12 562 | int styleable MenuItem_android_orderInCategory 6 563 | int styleable MenuItem_android_title 7 564 | int styleable MenuItem_android_titleCondensed 8 565 | int styleable MenuItem_android_visible 4 566 | int styleable MenuItem_showAsAction 13 567 | int[] styleable MenuView { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x0101052f } 568 | int styleable MenuView_android_headerBackground 4 569 | int styleable MenuView_android_horizontalDivider 2 570 | int styleable MenuView_android_itemBackground 5 571 | int styleable MenuView_android_itemIconDisabledAlpha 6 572 | int styleable MenuView_android_itemTextAppearance 1 573 | int styleable MenuView_android_preserveIconSpacing 7 574 | int styleable MenuView_android_verticalDivider 3 575 | int styleable MenuView_android_windowAnimationStyle 0 576 | int[] styleable SearchView { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005a, 0x7f01005b } 577 | int styleable SearchView_android_imeOptions 2 578 | int styleable SearchView_android_inputType 1 579 | int styleable SearchView_android_maxWidth 0 580 | int styleable SearchView_iconifiedByDefault 3 581 | int styleable SearchView_queryHint 4 582 | int[] styleable Spinner { 0x010100af, 0x01010175, 0x01010176, 0x01010262, 0x010102ac, 0x010102ad, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 } 583 | int styleable Spinner_android_dropDownHorizontalOffset 4 584 | int styleable Spinner_android_dropDownSelector 1 585 | int styleable Spinner_android_dropDownVerticalOffset 5 586 | int styleable Spinner_android_dropDownWidth 3 587 | int styleable Spinner_android_gravity 0 588 | int styleable Spinner_android_popupBackground 2 589 | int styleable Spinner_disableChildrenWhenDisabled 9 590 | int styleable Spinner_popupPromptView 8 591 | int styleable Spinner_prompt 6 592 | int styleable Spinner_spinnerMode 7 593 | int[] styleable Theme { 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c } 594 | int styleable Theme_actionDropDownStyle 0 595 | int styleable Theme_dropdownListPreferredItemHeight 1 596 | int styleable Theme_listChoiceBackgroundIndicator 5 597 | int styleable Theme_panelMenuListTheme 4 598 | int styleable Theme_panelMenuListWidth 3 599 | int styleable Theme_popupMenuStyle 2 600 | int[] styleable View { 0x010100da, 0x7f010038, 0x7f010039 } 601 | int styleable View_android_focusable 0 602 | int styleable View_paddingEnd 2 603 | int styleable View_paddingStart 1 604 | -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/BuildConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/BuildConfig.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView$FixedSpeedScroller.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView$FixedSpeedScroller.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView$ImageHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView$ImageHandler.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView$MyPageChangeListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView$MyPageChangeListener.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView$MyPagerAdapter$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView$MyPagerAdapter$1.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView$MyPagerAdapter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView$MyPagerAdapter.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/FlashView.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/FlashView.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/ImageLoaderTools.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/ImageLoaderTools.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$anim.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$anim.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$attr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$attr.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$bool.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$bool.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$color.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$color.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$dimen.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$dimen.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$drawable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$drawable.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$id.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$id.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$integer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$integer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$layout.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$layout.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$string.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$string.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$style.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$style.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R$styleable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R$styleable.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/R.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/R.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/constants/EffectConstants.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/constants/EffectConstants.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/AccordionTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/AccordionTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/CubeTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/CubeTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/DefaultTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/DefaultTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/DepthPageTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/DepthPageTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/InRightDownTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/InRightDownTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/InRightUpTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/InRightUpTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/RotateTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/RotateTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/effect/ZoomOutPageTransformer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/effect/ZoomOutPageTransformer.class -------------------------------------------------------------------------------- /bin/classes/com/gc/flashview/listener/FlashViewListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/classes/com/gc/flashview/listener/FlashViewListener.class -------------------------------------------------------------------------------- /bin/flashview.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/flashview.jar -------------------------------------------------------------------------------- /bin/jarlist.cache: -------------------------------------------------------------------------------- 1 | # cache for current jar dependency. DO NOT EDIT. 2 | # format is 3 | # Encoding is UTF-8 4 | 1422193159757 987314 9b6a9a9078af571732159b904ad423b03b7cc786 G:\AndroidPraticeDemo\appcompat_v7\libs\android-support-v4.jar 5 | 1422452214423 987314 9b6a9a9078af571732159b904ad423b03b7cc786 G:\AndroidPraticeDemoGit\flashview\libs\android-support-v4.jar 6 | -------------------------------------------------------------------------------- /bin/res/crunch/drawable-hdpi/defaultflashview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-hdpi/defaultflashview.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-hdpi/dot_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-hdpi/dot_light.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-hdpi/dot_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-hdpi/dot_white.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/bin/res/crunch/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /gen/com/gc/flashview/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package com.gc.flashview; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/ic_launcher-web.png -------------------------------------------------------------------------------- /images/flashviewgit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/images/flashviewgit.gif -------------------------------------------------------------------------------- /images/flashviewgit20150128.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/images/flashviewgit20150128.gif -------------------------------------------------------------------------------- /libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/libs/android-support-v4.jar -------------------------------------------------------------------------------- /libs/nineoldandroids-2.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/libs/nineoldandroids-2.4.0.jar -------------------------------------------------------------------------------- /libs/universal-image-loader-1.9.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/libs/universal-image-loader-1.9.3.jar -------------------------------------------------------------------------------- /proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-21 15 | android.library=true 16 | android.library.reference.1=../../AndroidPraticeDemo/appcompat_v7 17 | -------------------------------------------------------------------------------- /res/drawable-hdpi/defaultflashview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-hdpi/defaultflashview.png -------------------------------------------------------------------------------- /res/drawable-hdpi/dot_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-hdpi/dot_light.png -------------------------------------------------------------------------------- /res/drawable-hdpi/dot_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-hdpi/dot_white.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-hdpi/image_holder.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/layout/layout_slideshow.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | flashview 5 | Hello world! 6 | 7 | 8 | -------------------------------------------------------------------------------- /res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/com/gc/flashview/FlashView.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview; 2 | 3 | import java.lang.ref.WeakReference; 4 | import java.lang.reflect.Field; 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | import java.util.concurrent.Executors; 8 | import java.util.concurrent.ScheduledExecutorService; 9 | import java.util.concurrent.TimeUnit; 10 | 11 | 12 | 13 | import com.gc.flashview.effect.AccordionTransformer; 14 | import com.gc.flashview.effect.CubeTransformer; 15 | import com.gc.flashview.effect.DefaultTransformer; 16 | import com.gc.flashview.effect.DepthPageTransformer; 17 | import com.gc.flashview.effect.InRightDownTransformer; 18 | import com.gc.flashview.effect.InRightUpTransformer; 19 | import com.gc.flashview.effect.RotateTransformer; 20 | import com.gc.flashview.effect.ZoomOutPageTransformer; 21 | import com.gc.flashview.listener.FlashViewListener; 22 | 23 | import android.annotation.SuppressLint; 24 | import android.content.Context; 25 | import android.content.res.TypedArray; 26 | import android.graphics.drawable.Drawable; 27 | import android.os.Handler; 28 | import android.os.Message; 29 | import android.os.Parcelable; 30 | import android.provider.ContactsContract.CommonDataKinds.Im; 31 | import android.support.v4.view.PagerAdapter; 32 | import android.support.v4.view.ViewPager; 33 | import android.support.v4.view.ViewPager.OnPageChangeListener; 34 | import android.support.v4.view.ViewPager.PageTransformer; 35 | import android.util.AttributeSet; 36 | import android.view.LayoutInflater; 37 | import android.view.View; 38 | import android.view.ViewParent; 39 | import android.view.animation.AccelerateInterpolator; 40 | import android.view.animation.Animation; 41 | import android.view.animation.AnimationUtils; 42 | import android.view.animation.Interpolator; 43 | import android.widget.FrameLayout; 44 | import android.widget.ImageView; 45 | import android.widget.ImageView.ScaleType; 46 | import android.widget.LinearLayout; 47 | import android.widget.RelativeLayout; 48 | import android.widget.Scroller; 49 | import android.widget.Toast; 50 | 51 | /** 52 | * 53 | * @author Android将军 54 | * 55 | * 56 | */ 57 | @SuppressLint("HandlerLeak") 58 | public class FlashView extends FrameLayout{ 59 | 60 | private ImageLoaderTools imageLoaderTools; 61 | private ImageHandler mhandler = new ImageHandler(new WeakReference(this)); 62 | private List imageUris; 63 | private Context context; 64 | private List imageViewsList; 65 | private List dotViewsList; 66 | private LinearLayout mLinearLayout; 67 | private ViewPager mViewPager; 68 | private FlashViewListener mFlashViewListener;//向外提供接口 69 | private boolean isTwo=false; 70 | private int pos; 71 | private int effect;//图片切换的动画效果 72 | public FlashView(Context context) 73 | { 74 | this(context, null); 75 | 76 | } 77 | public FlashView(Context context, AttributeSet attrs) 78 | { 79 | this(context, attrs, 0); 80 | } 81 | public FlashView(Context context, AttributeSet attrs, int defStyle) 82 | { 83 | super(context, attrs, defStyle); 84 | // TODO Auto-generated constructor stub 85 | //读取该自定义控件自定义的属性 86 | this.context=context; 87 | TypedArray mTypedArray=context.obtainStyledAttributes(attrs, R.styleable.FlashView); 88 | effect=mTypedArray.getInt(R.styleable.FlashView_effect, 2); 89 | 90 | initUI(context); 91 | if (!(imageUris.size() <= 0)) 92 | { 93 | setImageUris(imageUris);// 94 | } 95 | 96 | } 97 | /** 98 | * 设置监听 99 | * @param mFlashViewListener 100 | */ 101 | public void setOnPageClickListener(FlashViewListener mFlashViewListener) 102 | { 103 | 104 | this.mFlashViewListener=mFlashViewListener; 105 | } 106 | private void initUI(Context context) 107 | { 108 | imageViewsList = new ArrayList(); 109 | dotViewsList = new ArrayList(); 110 | imageUris = new ArrayList(); 111 | imageLoaderTools = ImageLoaderTools.getInstance(context.getApplicationContext()); 112 | LayoutInflater.from(context).inflate(R.layout.layout_slideshow, this,true); 113 | mLinearLayout = (LinearLayout) findViewById(R.id.linearlayout); 114 | mViewPager = (ViewPager) findViewById(R.id.viewPager); 115 | //mFlashViewListener必须实例化 116 | 117 | } 118 | public void setImageUris(List imageuris) { 119 | 120 | if(imageUris.size()>0) 121 | { 122 | imageUris.clear(); 123 | imageViewsList.clear(); 124 | dotViewsList.clear(); 125 | mLinearLayout.removeAllViews(); 126 | 127 | } 128 | 129 | if (imageuris.size() <= 0)// 如果得到的图片张数为0,则增加一张默认的图片 130 | { 131 | 132 | imageUris.add("drawable://" + R.drawable.defaultflashview); 133 | } 134 | else 135 | { 136 | if(imageuris.size()==2) 137 | { 138 | isTwo=true; 139 | imageUris.addAll(imageuris); 140 | imageUris.addAll(imageuris); 141 | }else 142 | { 143 | isTwo=false; 144 | imageUris.addAll(imageuris); 145 | } 146 | // 147 | // for (int i = 0; i < imageuris.size(); i++) 148 | // { 149 | // 150 | // imageUris.add(imageuris.get(i)); 151 | // if(i==1) 152 | // { 153 | // imageUris.add(imageuris.get(0)); 154 | // } 155 | // } 156 | } 157 | System.out.println("测试bug111:::imageUris.size()"+imageUris.size()); 158 | LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); 159 | lp.setMargins(5, 0, 0, 0); 160 | for (int i = 0; i < imageUris.size(); i++) 161 | { 162 | ImageView imageView = new ImageView(getContext()); 163 | imageView.setScaleType(ScaleType.FIT_XY);// X和Y方向都填满 164 | imageLoaderTools.displayImage(imageUris.get(i), imageView); 165 | imageViewsList.add(imageView); 166 | ImageView viewDot = new ImageView(getContext()); 167 | if (i == 0) 168 | { 169 | viewDot.setBackgroundResource(R.drawable.dot_white); 170 | } else 171 | { 172 | viewDot.setBackgroundResource(R.drawable.dot_light); 173 | } 174 | viewDot.setLayoutParams(lp); 175 | if(isTwo)//为两张图片时加入的判断 176 | { 177 | if(i>1) 178 | { 179 | 180 | }else 181 | { 182 | dotViewsList.add(viewDot); 183 | mLinearLayout.addView(viewDot); 184 | } 185 | }else 186 | { 187 | dotViewsList.add(viewDot); 188 | mLinearLayout.addView(viewDot); 189 | } 190 | 191 | } 192 | mViewPager.setFocusable(true); 193 | mViewPager.setAdapter(new MyPagerAdapter()); 194 | mViewPager.setOnPageChangeListener(new MyPageChangeListener()); 195 | setEffect(effect); 196 | if (imageUris.size() <= 1)//图片小于等于1张时,不轮播 197 | { 198 | 199 | } else 200 | { 201 | 202 | // 利用反射修改自动轮播的动画持续时间 203 | try 204 | { 205 | 206 | Field field = ViewPager.class.getDeclaredField("mScroller"); 207 | 208 | field.setAccessible(true); 209 | 210 | FixedSpeedScroller scroller = new FixedSpeedScroller( 211 | mViewPager.getContext(), new AccelerateInterpolator()); 212 | 213 | field.set(mViewPager, scroller); 214 | 215 | scroller.setmDuration(1000); 216 | 217 | mViewPager.setCurrentItem(100 * imageViewsList.size()); 218 | 219 | mhandler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE, 220 | ImageHandler.MSG_DELAY); 221 | 222 | } catch (Exception e) 223 | { 224 | 225 | } 226 | } 227 | 228 | } 229 | 230 | /** 231 | * 切换轮播小点的显示 232 | * 233 | * @param selectItems 234 | */ 235 | private void setImageBackground(int selectItems) 236 | { 237 | for (int i = 0; i < dotViewsList.size(); i++) 238 | { 239 | if (i == selectItems % dotViewsList.size()) 240 | { 241 | dotViewsList.get(i).setBackgroundResource(R.drawable.dot_white); 242 | } else 243 | { 244 | dotViewsList.get(i).setBackgroundResource(R.drawable.dot_light); 245 | } 246 | } 247 | } 248 | 249 | /** 250 | * 251 | * 数据适配器 252 | * 253 | */ 254 | private class MyPagerAdapter extends PagerAdapter 255 | { 256 | @Override 257 | public void destroyItem(View container, int position, Object object) 258 | { 259 | 260 | } 261 | @Override 262 | public Object instantiateItem(View container, int position) 263 | { 264 | 265 | position = position % imageViewsList.size(); 266 | 267 | 268 | if (position < 0) 269 | { 270 | position = position + imageViewsList.size(); 271 | 272 | } 273 | System.out.println("position111:::"+position); 274 | if(isTwo) 275 | { 276 | pos=position%2; 277 | }else 278 | { 279 | pos=position; 280 | } 281 | final int posclick=pos; 282 | View view = imageViewsList.get(position); 283 | // if(view==null) 284 | // { 285 | // view = imageViewsList.get(position); 286 | // } 287 | view.setTag(position); 288 | view.setOnClickListener(new OnClickListener() { 289 | 290 | @Override 291 | public void onClick(View v) 292 | { 293 | if(mFlashViewListener!=null) 294 | { 295 | mFlashViewListener.onClick(posclick); 296 | }else 297 | { 298 | 299 | } 300 | 301 | } 302 | }); 303 | ViewParent vp = view.getParent(); 304 | if (vp != null ) 305 | { 306 | 307 | System.out.println("JJJJJ"+pos); 308 | ViewPager pager = (ViewPager) vp; 309 | System.out.println("pager.getChildCount()::"+pager.getChildCount()); 310 | 311 | pager.removeView(view); 312 | } 313 | ((ViewPager) container).addView(view); 314 | return view; 315 | } 316 | 317 | @Override 318 | public int getCount() { 319 | if (imageUris.size() <= 1) 320 | { 321 | return 1; 322 | } else { 323 | return Integer.MAX_VALUE; 324 | } 325 | 326 | } 327 | 328 | @Override 329 | public boolean isViewFromObject(View arg0, Object arg1) { 330 | return arg0 == arg1; 331 | } 332 | } 333 | private class MyPageChangeListener implements OnPageChangeListener 334 | { 335 | 336 | @Override 337 | public void onPageScrollStateChanged(int arg0) 338 | { 339 | // TODO Auto-generated method stub 340 | 341 | switch (arg0) 342 | { 343 | case ViewPager.SCROLL_STATE_DRAGGING: 344 | mhandler.sendEmptyMessage(ImageHandler.MSG_KEEP_SILENT); 345 | 346 | break; 347 | case ViewPager.SCROLL_STATE_IDLE: 348 | mhandler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE,ImageHandler.MSG_DELAY); 349 | break; 350 | // case ViewPager.SCROLL_STATE_SETTLING: 351 | // System.out.println("GGGGGGGGG"); 352 | // mhandler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE,ImageHandler.MSG_DELAY); 353 | // break; 354 | default: 355 | break; 356 | } 357 | 358 | } 359 | 360 | @Override 361 | public void onPageScrolled(int arg0, float arg1, int arg2) { 362 | // TODO Auto-generated method stub 363 | // System.out.println("GGGGGGGGG"); 364 | // mhandler.sendEmptyMessageDelayed(ImageHandler.MSG_UPDATE_IMAGE,ImageHandler.MSG_DELAY); 365 | } 366 | 367 | @Override 368 | public void onPageSelected(int pos) { 369 | // TODO Auto-generated method stub 370 | mhandler.sendMessage(Message.obtain(mhandler,ImageHandler.MSG_PAGE_CHANGED, pos, 0)); 371 | 372 | setImageBackground(pos); 373 | 374 | } 375 | 376 | } 377 | 378 | @SuppressWarnings("unused") 379 | private void destoryBitmaps() 380 | { 381 | for (int i = 0; i < imageViewsList.size(); i++) 382 | { 383 | ImageView imageView = imageViewsList.get(i); 384 | Drawable drawable = imageView.getDrawable(); 385 | if (drawable != null) 386 | { 387 | drawable.setCallback(null); 388 | } 389 | } 390 | } 391 | 392 | public void setEffect(int selectEffect) 393 | { 394 | switch (selectEffect) { 395 | case 0: 396 | setPageTransformer(true,new AccordionTransformer()); 397 | break; 398 | case 1: 399 | setPageTransformer(true,new CubeTransformer()); 400 | break; 401 | case 2: 402 | setPageTransformer(true,new DefaultTransformer()); 403 | break; 404 | case 3: 405 | setPageTransformer(true,new DepthPageTransformer()); 406 | break; 407 | case 4: 408 | setPageTransformer(true,new InRightDownTransformer()); 409 | break; 410 | case 5: 411 | setPageTransformer(true,new InRightUpTransformer()); 412 | break; 413 | case 6: 414 | setPageTransformer(true,new RotateTransformer()); 415 | break; 416 | case 7:setPageTransformer(true,new ZoomOutPageTransformer()); 417 | 418 | break; 419 | default: 420 | break; 421 | } 422 | } 423 | /** 424 | * 设置切换效果 425 | * @param b 426 | * @param rotateTransformer 427 | */ 428 | public void setPageTransformer(boolean b, PageTransformer rotateTransformer) 429 | { 430 | // TODO Auto-generated method stub 431 | mViewPager.setPageTransformer(b, rotateTransformer); 432 | } 433 | 434 | /** 435 | * 436 | * FixedSpeedScroller类的源码来源于网络,在此谢过贡献此代码的道友 437 | * 438 | */ 439 | public class FixedSpeedScroller extends Scroller 440 | { 441 | private int mDuration = 1500; 442 | 443 | public FixedSpeedScroller(Context context) 444 | { 445 | super(context); 446 | } 447 | 448 | public FixedSpeedScroller(Context context, Interpolator interpolator) 449 | { 450 | super(context, interpolator); 451 | } 452 | 453 | @Override 454 | public void startScroll(int startX, int startY, int dx, int dy,int duration) 455 | { 456 | 457 | super.startScroll(startX, startY, dx, dy, mDuration); 458 | } 459 | 460 | @Override 461 | public void startScroll(int startX, int startY, int dx, int dy) 462 | { 463 | 464 | super.startScroll(startX, startY, dx, dy, mDuration); 465 | } 466 | 467 | public void setmDuration(int time) 468 | { 469 | mDuration = time; 470 | } 471 | 472 | public int getmDuration() 473 | { 474 | return mDuration; 475 | } 476 | } 477 | 478 | private static class ImageHandler extends Handler 479 | { 480 | 481 | protected static final int MSG_UPDATE_IMAGE = 1; 482 | 483 | protected static final int MSG_KEEP_SILENT = 2; 484 | 485 | protected static final int MSG_BREAK_SILENT = 3; 486 | 487 | protected static final int MSG_PAGE_CHANGED = 4; 488 | 489 | protected static final long MSG_DELAY = 2000; 490 | 491 | private WeakReference weakReference; 492 | private int currentItem = 0; 493 | 494 | protected ImageHandler(WeakReference wk) 495 | { 496 | weakReference = wk; 497 | System.out.println("dsfdsfdsf:::" + currentItem); 498 | } 499 | 500 | @Override 501 | public void handleMessage(Message msg) 502 | { 503 | super.handleMessage(msg); 504 | 505 | FlashView activity = weakReference.get(); 506 | if (activity == null) 507 | { 508 | return; 509 | } 510 | if (activity.mhandler.hasMessages(MSG_UPDATE_IMAGE)) 511 | { 512 | if (currentItem > 0 )// 这里必须加入currentItem>0的判断,否则不能完美的自动轮播 513 | { 514 | activity.mhandler.removeMessages(MSG_UPDATE_IMAGE); 515 | } 516 | } 517 | switch (msg.what) 518 | { 519 | case MSG_UPDATE_IMAGE: 520 | // System.out.println("cccccc:::" + currentItem); 521 | currentItem++; 522 | activity.mViewPager.setCurrentItem(currentItem); 523 | activity.mhandler.sendEmptyMessageDelayed(MSG_UPDATE_IMAGE,MSG_DELAY); 524 | break; 525 | case MSG_KEEP_SILENT: 526 | break; 527 | case MSG_BREAK_SILENT: 528 | activity.mhandler.sendEmptyMessageDelayed(MSG_UPDATE_IMAGE,MSG_DELAY); 529 | break; 530 | case MSG_PAGE_CHANGED: 531 | currentItem = msg.arg1; 532 | activity.mhandler.sendEmptyMessageDelayed(MSG_UPDATE_IMAGE,MSG_DELAY); 533 | break; 534 | default: 535 | break; 536 | } 537 | } 538 | } 539 | } 540 | 541 | -------------------------------------------------------------------------------- /src/com/gc/flashview/ImageLoaderTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/ImageLoaderTools.java -------------------------------------------------------------------------------- /src/com/gc/flashview/constants/EffectConstants.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview.constants; 2 | /** 3 | * 4 | * @author Android将军 5 | * 声明效果常量 6 | * 7 | */ 8 | public class EffectConstants { 9 | 10 | /** 11 | * ACCORDTION_EFFECT:左右折叠效果 12 | */ 13 | public static final int ACCORDTION_EFFECT=0; 14 | /** 15 | * CUBE_EFFECT:立方体效果 16 | */ 17 | public static final int CUBE_EFFECT=1; 18 | /** 19 | * DEFAULT_EFFECT:默认效果 20 | */ 21 | public static final int DEFAULT_EFFECT=2; 22 | /** 23 | * DEPTH_PAGE_EFFECT:深入浅出效果 24 | */ 25 | public static final int DEPTH_PAGE_EFFECT=3; 26 | /** 27 | * DEFAULT_EFFECT:右下角进入效果 28 | */ 29 | public static final int IN_RIGHT_DOWN_EFFECT=4; 30 | /** 31 | * DEFAULT_EFFECT:右上角进入效果 32 | */ 33 | public static final int IN_RIGHT_UP_EFFECT=5; 34 | /** 35 | * DEFAULT_EFFECT:旋转效果 36 | */ 37 | public static final int ROTATE_EFFECT=6; 38 | /** 39 | * DEFAULT_EFFECT:淡入淡出效果 40 | */ 41 | public static final int ZOOM_OUT_PAGE_EFFECT=7; 42 | } 43 | -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/AccordionTransformer.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview.effect; 2 | 3 | import android.support.v4.view.ViewPager.PageTransformer; 4 | import android.view.View; 5 | 6 | import com.nineoldandroids.view.ViewHelper; 7 | 8 | public class AccordionTransformer implements PageTransformer { 9 | 10 | @Override 11 | public void transformPage(View view, float position) { 12 | if (position < -1) { 13 | ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); 14 | ViewHelper.setPivotY(view, view.getMeasuredHeight() * 0.5f); 15 | ViewHelper.setScaleX(view, 1); 16 | } else if (position <= 0) { 17 | ViewHelper.setPivotX(view, view.getMeasuredWidth()); 18 | ViewHelper.setPivotY(view, 0); 19 | ViewHelper.setScaleX(view, 1 + position); 20 | } else if (position <= 1) { 21 | ViewHelper.setPivotX(view, 0); 22 | ViewHelper.setPivotY(view, 0); 23 | ViewHelper.setScaleX(view, 1 - position); 24 | } else { 25 | ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); 26 | ViewHelper.setPivotY(view, view.getMeasuredHeight() * 0.5f); 27 | ViewHelper.setScaleX(view, 1); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/CubeTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/effect/CubeTransformer.java -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/DefaultTransformer.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview.effect; 2 | 3 | import android.support.v4.view.ViewPager.PageTransformer; 4 | import android.view.View; 5 | 6 | public class DefaultTransformer implements PageTransformer { 7 | 8 | @Override 9 | public void transformPage(View view, float arg1) { 10 | view.setAlpha(1); 11 | view.setTranslationX(0); 12 | view.setTranslationY(0); 13 | view.setPivotX(view.getWidth() / 2); 14 | view.setPivotY(view.getHeight() / 2); 15 | view.setScaleX(1); 16 | view.setScaleY(1); 17 | view.setRotation(0); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/DepthPageTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/effect/DepthPageTransformer.java -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/InRightDownTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/effect/InRightDownTransformer.java -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/InRightUpTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/effect/InRightUpTransformer.java -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/RotateTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gcgongchao/flashview/36bc8bb5b8ad855a106fe12f2607c76187626b35/src/com/gc/flashview/effect/RotateTransformer.java -------------------------------------------------------------------------------- /src/com/gc/flashview/effect/ZoomOutPageTransformer.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview.effect; 2 | 3 | import android.support.v4.view.ViewPager.PageTransformer; 4 | import android.view.View; 5 | 6 | public class ZoomOutPageTransformer implements PageTransformer { 7 | private static float MIN_SCALE = 0.85f; 8 | 9 | private static float MIN_ALPHA = 0.5f; 10 | 11 | @Override 12 | public void transformPage(View view, float position) { 13 | int pageWidth = view.getWidth(); 14 | int pageHeight = view.getHeight(); 15 | 16 | if (position < -1) { // [-Infinity,-1) 17 | // This page is way off-screen to the left. 18 | view.setAlpha(0); 19 | view.setTranslationX(0); 20 | } else if (position <= 1) { // [-1,1] 21 | // Modify the default slide transition to 22 | // shrink the page as well 23 | float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position)); 24 | float vertMargin = pageHeight * (1 - scaleFactor) / 2; 25 | float horzMargin = pageWidth * (1 - scaleFactor) / 2; 26 | if (position < 0) { 27 | view.setTranslationX(horzMargin - vertMargin / 2); 28 | } else { 29 | view.setTranslationX(-horzMargin + vertMargin / 2); 30 | } 31 | // Scale the page down (between MIN_SCALE and 1) 32 | view.setScaleX(scaleFactor); 33 | view.setScaleY(scaleFactor); 34 | // Fade the page relative to its size. 35 | view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE) 36 | / (1 - MIN_SCALE) * (1 - MIN_ALPHA)); 37 | } else { // (1,+Infinity] 38 | // This page is way off-screen to the right. 39 | view.setAlpha(0); 40 | view.setTranslationX(0); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /src/com/gc/flashview/listener/FlashViewListener.java: -------------------------------------------------------------------------------- 1 | package com.gc.flashview.listener; 2 | 3 | import android.view.View; 4 | /** 5 | * 功能:向外提供点击事件的接口,其中position代表的是图片的索引,即第几张图片 6 | * @author Android将军 7 | * 8 | */ 9 | public interface FlashViewListener 10 | { 11 | public void onClick(int position); 12 | } 13 | --------------------------------------------------------------------------------