Skip to content

Commit 532bd35

Browse files
author
zaaach
committed
修复滚动条颜色配置无效的问题
1 parent 84074d4 commit 532bd35

4 files changed

Lines changed: 25 additions & 16 deletions

File tree

.idea/vcs.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,18 @@ public class NavAdapterViewHolder extends Holder<Nav> {
9898
```java
9999
List<Nav> navList = DataFactory.loadData();
100100
TransformersLayout<Nav> header = findViewById();
101-
//options可选配置
101+
//options可选配置,会覆盖xml里的属性
102102
TransformersOptions options = new TransformersOptions.Builder()
103103
.lines(2)
104104
.spanCount(5)
105105
.scrollBarWidth(Util.dp2px(this, 40))
106106
.scrollBarHeight(Util.dp2px(this, 3))
107107
.scrollBarRadius(Util.dp2px(this, 3) / 2f)
108108
.scrollBarTopMargin(Util.dp2px(this, 6))
109+
.scrollBarTrackColor(Color.parseColor("#e5e5e5"))
110+
.scrollBarThumbColor(Color.parseColor("#658421"))
109111
.build();
110-
header.apply(options)
112+
header.apply(options)//options可为null
111113
.addOnTransformersItemClickListener(new OnTransformersItemClickListener() {
112114
@Override
113115
public void onItemClick(int position) {
@@ -141,6 +143,12 @@ header.apply(options)
141143
| tl_scrollbarTrackColor | color \| reference | scrollbar轨道颜色 |
142144
| tl_scrollbarThumbColor | color \| reference | scrollbar高亮颜色 |
143145

146+
# Change log
147+
148+
2019-12-13
149+
150+
- 修复滚动条颜色配置无效的问题
151+
144152
# License
145153

146154
```

app/src/main/java/com/zaaach/transformerslayoutdemo/ListActivity.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.zaaach.transformerslayoutdemo;
22

3+
import android.graphics.Color;
34
import android.os.Bundle;
45
import android.os.Handler;
56
import android.view.View;
@@ -34,13 +35,16 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
3435

3536
final List<Nav> navList = DataFactory.loadData();
3637
final TransformersLayout<Nav> header = new TransformersLayout<>(this);
38+
//使用options配置会覆盖xml的属性
3739
TransformersOptions options = new TransformersOptions.Builder()
3840
.lines(2)
3941
.spanCount(5)
4042
.scrollBarWidth(Util.dp2px(this, 40))
41-
.scrollBarHeight(Util.dp2px(this, 3))
42-
.scrollBarRadius(Util.dp2px(this, 3) / 2f)
43+
.scrollBarHeight(Util.dp2px(this, 40))
44+
.scrollBarRadius(Util.dp2px(this, 40))/*Util.dp2px(this, 3) / 2f*/
4345
.scrollBarTopMargin(Util.dp2px(this, 6))
46+
.scrollBarTrackColor(Color.parseColor("#e5e5e5"))
47+
.scrollBarThumbColor(Color.parseColor("#658421"))
4448
.build();
4549
header.apply(options)
4650
.addOnTransformersItemClickListener(new OnTransformersItemClickListener() {

transformerslayout/src/main/java/com/zaaach/transformerslayout/TransformersLayout.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import android.os.Build;
77
import android.os.Parcelable;
88
import android.util.AttributeSet;
9-
import android.util.Log;
109
import android.view.Gravity;
1110
import android.view.View;
1211
import android.widget.LinearLayout;
@@ -175,8 +174,12 @@ public TransformersLayout<T> apply(@Nullable TransformersOptions options){
175174
scrollBarHeight = options.scrollBarHeight <= 0 ? scrollBarHeight : options.scrollBarHeight;
176175
scrollBarRadius = options.scrollBarRadius < 0 ? scrollBarHeight/2f : options.scrollBarRadius;
177176
scrollBarTopMargin = options.scrollBarTopMargin <= 0 ? scrollBarTopMargin : options.scrollBarTopMargin;
178-
scrollBarTrackColor = options.scrollBarTrackColor <= 0 ? DEFAULT_TRACK_COLOR : options.scrollBarTrackColor;
179-
scrollBarThumbColor = options.scrollBarThumbColor <= 0 ? DEFAULT_THUMB_COLOR : options.scrollBarThumbColor;
177+
178+
// Log.e(TAG, "trackColor = " + options.scrollBarTrackColor);
179+
// Log.e(TAG, "thumbColor = " + options.scrollBarThumbColor);
180+
// Log.e(TAG, "radius = " + options.scrollBarRadius);
181+
scrollBarTrackColor = options.scrollBarTrackColor == 0 ? DEFAULT_TRACK_COLOR : options.scrollBarTrackColor;
182+
scrollBarThumbColor = options.scrollBarThumbColor == 0 ? DEFAULT_THUMB_COLOR : options.scrollBarThumbColor;
180183

181184
if (newLines != lines){
182185
recyclerView.setLayoutManager(new GridLayoutManager(getContext(), lines, GridLayoutManager.HORIZONTAL, false));
@@ -191,7 +194,7 @@ public TransformersLayout<T> apply(@Nullable TransformersOptions options){
191194
*/
192195
@Override
193196
protected void onAttachedToWindow() {
194-
Log.e(TAG, "----------onAttachedToWindow()");
197+
// Log.e(TAG, "----------onAttachedToWindow()");
195198
super.onAttachedToWindow();
196199
// attached = true;
197200
if (savedState != null) {
@@ -205,7 +208,7 @@ protected void onAttachedToWindow() {
205208
*/
206209
@Override
207210
protected void onDetachedFromWindow() {
208-
Log.e(TAG, "----------onDetachedFromWindow()");
211+
// Log.e(TAG, "----------onDetachedFromWindow()");
209212
super.onDetachedFromWindow();
210213
// attached = false;
211214
savedState = layoutManager.onSaveInstanceState();
@@ -231,7 +234,7 @@ public void scrollToStart(boolean smooth){
231234
scrollBar.setScrollBySelf(true);
232235
if (recyclerView != null) {
233236
if (recyclerView.computeHorizontalScrollOffset() > 0) {
234-
Log.e(TAG, "----------scrollToStart()");
237+
// Log.e(TAG, "----------scrollToStart()");
235238
if (smooth) {
236239
recyclerView.smoothScrollToPosition(0);
237240
} else {

0 commit comments

Comments
 (0)