From 2e165ea92e0efeda7efaa4ff7c9f0e4d545601e0 Mon Sep 17 00:00:00 2001 From: lijunjie Date: Fri, 25 Sep 2020 16:28:45 +0800 Subject: [PATCH 1/2] update build version --- FlycoTabLayout_Lib/build.gradle | 2 +- app/build.gradle | 6 +++--- build.gradle | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/FlycoTabLayout_Lib/build.gradle b/FlycoTabLayout_Lib/build.gradle index 166f8c62..67db052b 100644 --- a/FlycoTabLayout_Lib/build.gradle +++ b/FlycoTabLayout_Lib/build.gradle @@ -24,7 +24,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:25.1.0' + compile 'com.android.support:support-v4:25+' } //def siteUrl = 'https://github.com/H07000223' // 项目的主页 diff --git a/app/build.gradle b/app/build.gradle index f2f86d4d..e0b368e5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,11 +21,11 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:25.1.0' -// compile project(':FlycoTabLayout_Lib') + compile 'com.android.support:appcompat-v7:25+' + compile project(':FlycoTabLayout_Lib') //--->support 3.0+ - compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' +// compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' //--->support 2.2+ // compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.0@aar' // compile 'com.nineoldandroids:library:2.4.0' diff --git a/build.gradle b/build.gradle index 062f3830..63ffa762 100644 --- a/build.gradle +++ b/build.gradle @@ -3,6 +3,10 @@ buildscript { repositories { jcenter() + maven { + url 'https://maven.google.com/' + name 'Google' + } } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' @@ -16,6 +20,10 @@ buildscript { allprojects { repositories { jcenter() + maven { + url 'https://maven.google.com/' + name 'Google' + } // maven { // url "http://dl.bintray.com/h07000223/maven" // } From 6682c0bbe2fbbfa47734fa75d97acae12ecc8a56 Mon Sep 17 00:00:00 2001 From: lijunjie Date: Sun, 27 Sep 2020 10:36:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=C3=A6=C2=AF=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=9B=BE=E7=89=87=E7=9A=84=E6=8C=87=E7=A4=BA=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/flyco/tablayout/SlidingTabLayout.java | 2 +- .../ui/SlidingTabActivity.java | 3 +- .../ui/SlidingTabLayoutV2.java | 43 ++++++++++++++++++ .../icon_tablayout_indicator.png | Bin 0 -> 4658 bytes .../main/res/drawable/background_card.9.png | Bin 214 -> 215 bytes .../main/res/layout/activity_sliding_tab.xml | 5 +- 6 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabLayoutV2.java create mode 100644 app/src/main/res/drawable-xxhdpi/icon_tablayout_indicator.png diff --git a/FlycoTabLayout_Lib/src/main/java/com/flyco/tablayout/SlidingTabLayout.java b/FlycoTabLayout_Lib/src/main/java/com/flyco/tablayout/SlidingTabLayout.java index 9ab7e5ed..6506c1e5 100644 --- a/FlycoTabLayout_Lib/src/main/java/com/flyco/tablayout/SlidingTabLayout.java +++ b/FlycoTabLayout_Lib/src/main/java/com/flyco/tablayout/SlidingTabLayout.java @@ -43,7 +43,7 @@ public class SlidingTabLayout extends HorizontalScrollView implements ViewPager. private float mCurrentPositionOffset; private int mTabCount; /** 用于绘制显示器 */ - private Rect mIndicatorRect = new Rect(); + protected Rect mIndicatorRect = new Rect(); /** 用于实现滚动居中 */ private Rect mTabRect = new Rect(); private GradientDrawable mIndicatorDrawable = new GradientDrawable(); diff --git a/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabActivity.java b/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabActivity.java index 290c9b03..39f0d40e 100644 --- a/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabActivity.java +++ b/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabActivity.java @@ -62,7 +62,8 @@ protected void onCreate(Bundle savedInstanceState) { /** indicator圆角色块 */ SlidingTabLayout tabLayout_9 = ViewFindUtils.find(decorView, R.id.tl_9); /** indicator圆角色块 */ - SlidingTabLayout tabLayout_10 = ViewFindUtils.find(decorView, R.id.tl_10); + SlidingTabLayoutV2 tabLayout_10 = ViewFindUtils.find(decorView, R.id.tl_10); + tabLayout_10.setmIndicatorDrawable(getResources().getDrawable(R.drawable.icon_tablayout_indicator)); tabLayout_1.setViewPager(vp); tabLayout_2.setViewPager(vp); diff --git a/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabLayoutV2.java b/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabLayoutV2.java new file mode 100644 index 00000000..65094e8d --- /dev/null +++ b/app/src/main/java/com/flyco/tablayoutsamples/ui/SlidingTabLayoutV2.java @@ -0,0 +1,43 @@ +package com.flyco.tablayoutsamples.ui; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; +import android.util.AttributeSet; +import android.view.Gravity; + +import com.flyco.tablayout.SlidingTabLayout; + +public class SlidingTabLayoutV2 extends SlidingTabLayout { + public SlidingTabLayoutV2(Context context) { + super(context); + } + + public SlidingTabLayoutV2(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public SlidingTabLayoutV2(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + private Drawable mIndicatorDrawable = new BitmapDrawable(); + + public void setmIndicatorDrawable(Drawable mIndicatorDrawable) { + this.mIndicatorDrawable = mIndicatorDrawable; + } + + @Override + protected void onDraw(Canvas canvas) { + mIndicatorDrawable.setBounds(getPaddingLeft() + (int) getIndicatorMarginLeft() + mIndicatorRect.left, + getHeight() - 50, + getPaddingLeft() + mIndicatorRect.right - (int) getIndicatorMarginRight(), + getHeight() - (int) getIndicatorMarginBottom()); + + mIndicatorDrawable.draw(canvas); + super.onDraw(canvas); + + } +} diff --git a/app/src/main/res/drawable-xxhdpi/icon_tablayout_indicator.png b/app/src/main/res/drawable-xxhdpi/icon_tablayout_indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..712f504dc436807bde6271bfb3542c610e257739 GIT binary patch literal 4658 zcmV-263y+2P)y!00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91pP&N(1ONa40RR91IRF3v0ECLfx&QzXoJmAMRCodHoK24v#}$TqhJoSB zU>gz3mYs|&Y)g)0C1T}Ot~Zgq$dbQ+vP_g+7D1!LiXtzvi){Y|egH~Vmz7s2k&~d< zM%IuZP>diLY(5Ok&HL2pce-xf?tAYHAk5HbR9#i4s{3}IdivBych5rg2xK&>79PQ2 z`$Ik^3oI;Dqet=64+WAf!M3^yKuCD?uC7204=fcyx-9 z&Sv$dRO^ch3%uFl(avObjuz#^tc)Z;PJs0M3N36}&c22Xwi2%Yl2Qh9?KC z4X8J>i$B)`msw-$$s+||9O-P!;Q-ZO8p>f-&mfi_vBMM21K?Enrh;d0mqS+q*9IGa zm0%r_ZmowcYwAavT+`uS&Y;WzHJFC64aCdZw+q6|6V3v#6TX??%>$ji+pZd{60%Fu zzf#!wzjfW03Vom5nguQvyS

2Y_o?Icao;(IDQEZXO8j1?L2?6~0dJrg^(T4NVT* z?&|wG?Vl_BRF}1)cz<@Oee%0#fraX8oz|M#>Mzxf>I1=eKAomPe6w0l`C-~tRhJi> z1HcLRW`bAMkn!7evyA85y#gLy4i9&}`jxi7QCL>!<;k?b9YMG%6#uBnM?eRJr6*)O zSf$Wh<*Jf1033sFCV1{@fey*NouOM(*<$s3oysp#oqqG=TVPS}-LHO~y67Cj+zX!8 zWuB-3^%c(maMATz<9t@z1>Py4X7D~%da?Rh4_>P^pIqg7^~=<*16{&UDJG0e9M39^ z3>1E%uv+Jp+>o514P_)Y;A{1I)M1>LgZG(!*d7n?-c|XMbb$A^(xd8k+V-;DEI_-S zQ5z3*VYD|88bH=-(U$1~P8d9(<78G8&R0KH>FciA$J@#R zuU9WtKS}^zsUb9gd(`&GKmh=8Ru&lQ@P6I!v9moM>7fo-dOW~mspP8S%PMcC9_-P} zcC)}eO)X!p!Lk=LfO!{uSaos$JM56)E8SrtHFueSM|X?Z^s{WSR-vF|{3xET~ct7Ne48{)cm+EP=l)FJIQ=GpffY(Eq z*?OG!iGJ)YTWQl}%UN>0Iv$6wt;@C7^N!4J@p^Q(hm__dmXzltzEQYa{aNWh zxq2UO0}Ifecl50HpxW249a5U^_ljb=UxUZx{;Kz*K4b6Yq2mDVa_#ld zb0R(&7FrG{@T_+|Ei}KU8h5DH%M)t>+V8#8p0u<7a5i5lhv5AXkNy1ggNX;ix?hL1 z!{^HGa?jTXLeDJs1;tkt9RrQWiA1eGy;Tz?9`L0_a+KG|; zhdR}F)RTRX+7s|-UppJFgM~HpUgJY&513Cp&=i9YFDy?KN^w~~<}UZT@-fzn zlgjT7PHMfnsFVGJ!uz@iN~6ZIQr{@eAA%lnK4qlkuaq`jS?6iak2Kx0_S`Ps4DeSFvvA8y>c>glMYkoidh&GJ-JQ1-@ z@g#gMWQm2oJePQy5gMb!AaqG#hXQ}-Z`X04wxElPvSsZ`%HZu%9w_%IzEuNg5cw7A zB6k(Ahk?8q+(C2YP|G3{_yG3`JbjZzz|SG$!4xI1-B`o02AgFm-@ zbiJe0_0s)b;74omxQ}d%`zE05hL4>L9}6dI`q34|R~2$Opv=u&q4XXFe3_w(Qw|6@ zab789pDysIp92SYVN@mRbfo$%7FeobBONz1kd0)+DuHPGlj2C+3i%k zOZ(sx4IMiEXixO_6_95XoKA{*!?&-yi${%4xj5CQR3rt;LtGMgLKAw zy!VO#)UA|?O?baZV-R2jD1gKOVWf7Che7P=3>`+W%y-tV{WQd3n|r!cpbOjO7Hd2q zUJ(0(6E(g~=Ak^=1}zYxiO#u7JsIsq55-U`7sh>n2zYeuE83n@+OOg(+a)p9>MEUA z&z-P&X<*9t4a0;6@DSo2xUk8zEjF^vT#r0AJ(A-{-g>~AS03Vr5Dy2w8}pv|SiOlc zKq_TSVsUpu%w65fbPL$?<+Z{ShOIr}aJk2Z;r*`TWT_9qYy9h~o}= zzD_gK@ew$w9ocX0RvljyF?%wk#icWgV$6YVkJ3yw7;Q9@4aO_c^n zrMXGN42<<`x7>1uFD4z7&_$2Zn2%hH`67=C@X&|0B;U4J#vI_F0$;^lP`svaMCm!i z=(JbmBVr~UpDVnZ4j%C3wHX7HM`7%TPX#Iead9!*9o3I%xVV^cG0o2bWS=l-{9b^F zHe|;}s#ZMZk?n#RJjoz!c$zk#t(fgr^=y}MT>wZOCLTa$2r1)__GDZ~`yupndsAwB z1AsWH6$L&tV$v~G=#cJicc26L3wH1PA14%ZVubw)`xN|#jyr|mKQ0FNxH#64yrzUl z4qej(-UmAx^#7 zVgTxLRF+p*8{97)(6M&JS`#xVFWK-x65|(+&`6xqxUMPfQ>6vMcJv?shvZ(5VUoea z85lSK#Kvs-M3NW?t;5mWSGZT}o>ly%j&)Ii56kgHdI_?v;}wPnwe^kYCp6Q-f7>{9Dr%#MGTGl^T?Wxng~gdiiY3X{mde!vcWC zpU2(o0!rcAq8%uw-RvEk?sh%3oAtovx}+^J-W$oY@mf`g{|(2hSv}X!VqU3ghwr3n z9m{IsHcttVcl9F|1d_$>m#G6McU=MC2zwO3iirh4GO=LslDz>7Baj9>7Bd6QSR`fY z4{V$rG2OM719}K$j41+i2yKI4LjXiiz?R@f8{qAz7x_p791a6*jP=6vg$6BNZ(Wm& zk=|&DF88ov#(P7>1I3K@{O>hRC!IEvG7jGf?YOGOZdRv9)kn%7&vs4vW<&zlb1MR>gX$|Jnr$AxggOeh#PUNpoopYz9z88w;KJj2e9};}*b% zxwp%~^9>&U4Z^j-sLjh^JF6*@2yG? zW3`OKXKnP+F~)M&i`O$Y7wU>{NXHAMcrM0%*Oli{44`qs+&TMI=CPbFo-u^IAcw*P zJQ2aW@dSif6?xCD&~c`Lv=W85UZLLhS#Ii5Zf6Q^WqKe4+c8UJtc`|!fseMpVW5o= z_|d(_8_NxNOfDJg9Z*f`GS+)evBh2PF_l_6#(NYm()YUFSWMSz`KV5uQjFKb`@N<3 z6UD6gy{hz8#Q@0N0eCkQbLa5K-Q&B6{I0rWDLHVw=KU1H{Zq3&xLz6GSN*5)ue5{h zhFu9eWfg3CTY<8@wY|yhsMBtXWtF3UHr0$Hk>~HC+Bv{muU3?2tOwYP^(Z^4c&PY@ zbmoRUU2cn*xk=B5TP(ZYI6zE1&dCb_Am4H@L%pQ>JnO{^@(~g5^z)h(9`MUl2N>gI z=~7uQ!V_|D5aY)2atM!qb}Pm!a%O&b&08}_b3dhQzbP!>*0h}f1YtOodqkW8y%KVz zwknWeZ(!Z6z-j|JoC)JO#(99pY?ki!vf_U$G-JK^)qJ8crOVZxsfmdv1$P0fIMub3;v#B1H>yiOfHyFk>&#U=9hBbjJc*X!X;1+ zuolDVJTZ{=(pVsei?Ou@$UN-vS{+MVqzOzKtj}k=d!@%0@+`Lvyjv;@D4XBH>%q-X zF9pE#fRkMKMX86X^ z;^q(Q0v$q($NM&w#~2YkW4xi_f%In;=VQGNujejTwWoMKN^|eW6nZG#KyWkwM)&)Q zew>#{S>=99^*&YnhQb#Lx!}sVSf1?~M0-RA!*t_J9(Wa>y1>XC$g%+WUS?YWTUh|i zAff|6U<5v}0=UCUk-jUP*YFG-6AQ+7M-&5BzMkiCp24FG87f@Xv8GHksD^}>QDV&V zr6O$@`<+ni?susCX9~yb3gH2(YE3%4;M>x(1cUHj43K~@(k#bVSpR#*8O8bc0r_h? z=qp?l<2~m|BXOgT>e+ATJlmz*(8be>D1T0HT~ry+ttloLJZ8%*wG5?; z?lwSFRt$}Gzq#jY8dh~C00cgy1P~n_5COo~6f+L=2jzG{y5JY2V*#28$swijb{6#U zUW+wRmz=xa9L}azpPJVKK!z|=%>~d9$4)zMPlvwE+tJ-Jv$Z#*-caGR!im}gDw)6| zuE%~kc&MktM-6*F(zypDZvc5m-~S-eUhox_8$#*=q9+xAhyWjt=Pb`D;ZO3cD*?5> zkEdI}AeFUvGVwnt@oIFb2x;WYIzFVB{qb~2>Fv51&-CdD3mB%dz;NaI+%ww4mB6`sWj~-p@`(lcw#mh+^iw<@yCLI^ z8@jaZ1d!4b3T*&VR(e8oC5Y&d9LUi4LzF6g2Wnj(Z`}e0%SQk(i#?n3Yf7{MS9&_v zFTn#kWDfAC)(IblGXbR1JP=aP9+3ymJSEA+-Z9tp=|^XQH60qrEKD9OjfZPq7@%zE z3W`hUDB2`=>@p4knnI=mNL{=jl0!&-m>nB$h^DtTd= zbO|Cl#6U)F5=`s+_|aIvfcfZMpt*boa8xVT@Vx7^c+>FZ2b&2Zm2()$cL7ORFOS~> zIcS_si+A%$ZUs2+OZ-6a`9O0)=*o^uD6MacdtlqFGFw-IG;NP5kd?bVD0DvFLxIl+ obG#)Oy>lOb=PdBBU@I@||Do)h@8j(RBLDyZ07*qoM6N<$f?qY - + />