diff --git a/app/src/main/java/com/volcaniccoder/volxfastscrollsample/MainActivity.java b/app/src/main/java/com/volcaniccoder/volxfastscrollsample/MainActivity.java index 12dc93d..0df2d7b 100644 --- a/app/src/main/java/com/volcaniccoder/volxfastscrollsample/MainActivity.java +++ b/app/src/main/java/com/volcaniccoder/volxfastscrollsample/MainActivity.java @@ -47,8 +47,8 @@ public int compare(String f1, String f2) { model.add(userModel); } - parentLayout = (FrameLayout) findViewById(R.id.activity_use); - mRecyclerView = (RecyclerView) findViewById(R.id.rcx); + parentLayout = findViewById(R.id.activity_use); + mRecyclerView = findViewById(R.id.rcx); mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); diff --git a/app/src/main/java/com/volcaniccoder/volxfastscrollsample/UsersOwnAdapter.java b/app/src/main/java/com/volcaniccoder/volxfastscrollsample/UsersOwnAdapter.java index 1bfdc91..797ad3b 100644 --- a/app/src/main/java/com/volcaniccoder/volxfastscrollsample/UsersOwnAdapter.java +++ b/app/src/main/java/com/volcaniccoder/volxfastscrollsample/UsersOwnAdapter.java @@ -25,7 +25,7 @@ public static class ViewHolder extends RecyclerView.ViewHolder { TextView txt; public ViewHolder(View v) { super(v); - txt = (TextView) v.findViewById(R.id.txt); + txt = v.findViewById(R.id.txt); } } @@ -40,8 +40,7 @@ public UsersOwnAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, View v = LayoutInflater.from(parent.getContext()) .inflate(R.layout.item_main, parent, false); - ViewHolder vh = new ViewHolder(v); - return vh; + return new ViewHolder(v); } @Override diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index bf0d0ba..2572b34 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,6 +1,5 @@ diff --git a/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/Volx.java b/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/Volx.java index 198990b..29ae9e6 100644 --- a/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/Volx.java +++ b/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/Volx.java @@ -322,7 +322,7 @@ private void onScreenCreated(int height, ViewTreeObserver.OnGlobalLayoutListener rightBarParams.height = (int) (height * barHeightRatio); itemHeight = (int) (height * barHeightRatio - utils.dpToPx(16)) / (charList.size()); - mAdapter = new VolxAdapter(charList, utils, new VolxAdapterFeatures(itemHeight, barHeightRatio, barWidth, textSize, textColor, activeColor)); + mAdapter = new VolxAdapter(charList, new VolxAdapterFeatures(itemHeight, barHeightRatio, barWidth, textSize, textColor, activeColor)); mRecyclerView.setAdapter(mAdapter); } diff --git a/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/VolxAdapter.java b/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/VolxAdapter.java index 04547f2..a765f00 100644 --- a/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/VolxAdapter.java +++ b/volxfastscroll/src/main/java/com/volcaniccoder/volxfastscroll/VolxAdapter.java @@ -1,7 +1,10 @@ package com.volcaniccoder.volxfastscroll; import android.graphics.Color; +import android.support.v4.widget.TextViewCompat; +import android.support.v7.widget.AppCompatTextView; import android.support.v7.widget.RecyclerView; +import android.util.TypedValue; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -15,12 +18,10 @@ public class VolxAdapter extends RecyclerView.Adapter { private List mDataset; private VolxAdapterFeatures mFeatures; - private float defaultTextSize; - public VolxAdapter(List mDataset, VolxUtils utils, VolxAdapterFeatures mFeatures) { + public VolxAdapter(List mDataset, VolxAdapterFeatures mFeatures) { this.mFeatures = mFeatures; this.mDataset = mDataset; - this.defaultTextSize = utils.defaultTextSize(mFeatures.getParamsHeight()); } @Override @@ -77,18 +78,19 @@ public ViewHolder(View v, VolxAdapterFeatures mFeatures) { (ViewGroup.LayoutParams.MATCH_PARENT, mFeatures.getParamsHeight()); parentParams.setMargins(4, 0, 4, 0); - itemParent = (LinearLayout) v.findViewById(R.id.item_parent); + itemParent = v.findViewById(R.id.item_parent); itemParent.setBackgroundColor(Color.TRANSPARENT); itemParent.setLayoutParams(parentParams); - charText = new TextView(v.getContext()); + charText = new AppCompatTextView(v.getContext()); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams - (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); + (ViewGroup.LayoutParams.MATCH_PARENT, mFeatures.getParamsHeight()); charText.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); - if (mFeatures.getTextSize() == Volx.FIT_NICELY) - charText.setTextSize(defaultTextSize); - else + if (mFeatures.getTextSize() == Volx.FIT_NICELY) { + TextViewCompat.setAutoSizeTextTypeWithDefaults(charText, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM); + TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(charText, 2, 13, 1, TypedValue.COMPLEX_UNIT_SP); + } else charText.setTextSize(mFeatures.getTextSize()); charText.setTextColor(mFeatures.getTextColor());