From fb0e298d3a1053f3ea5eac2f3ca3679533ec4d38 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 29 十二月 2021 15:33:35 +0800 Subject: [PATCH] 2.0.8 --- app/src/com/hanju/video/app/ui/recommend/SearchResultActivity.java | 131 ++++++++++++++++++++++++++++--------------- 1 files changed, 86 insertions(+), 45 deletions(-) diff --git a/app/src/com/hanju/video/app/ui/recommend/SearchResultActivity.java b/app/src/com/hanju/video/app/ui/recommend/SearchResultActivity.java index 57c4c27..4e3369d 100644 --- a/app/src/com/hanju/video/app/ui/recommend/SearchResultActivity.java +++ b/app/src/com/hanju/video/app/ui/recommend/SearchResultActivity.java @@ -5,12 +5,15 @@ import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; + import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; + import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; +import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -51,6 +54,15 @@ import com.hanju.video.app.util.ui.StatusBarUtil; import com.video.base.ui.subview.MyRefreshLayout; +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.ViewPagerHelper; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView; + import org.apache.http.Header; import org.json.JSONObject; @@ -60,6 +72,7 @@ public class SearchResultActivity extends BaseActivity implements OnClickListener { + private static final String TAG = SearchResultActivity.class.getSimpleName(); private AutoCompleteTextView et_search_key; private TextView tv_search_cancel; @@ -95,8 +108,6 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search_result_activity); - - StatusBarUtil.init(this); rl_search_result = findViewById(R.id.rl_search_result); et_search_key = findViewById(R.id.et_search_key); @@ -255,61 +266,91 @@ ProgressBar pb = new ProgressBar(SearchResultActivity.this); rl_search_result.setRefreshing(true); search(mCurrentKey, mCurrentType); -// loadAd(); + loadAd(); } - private void initTopBar(List<VideoType> videoTypeList) { - int p = 0; - ll_top_bar.removeAllViews(); - LayoutInflater inflater = LayoutInflater.from(getApplicationContext()); - for (int i = 0; i < videoTypeList.size(); i++) { - final View view = inflater.inflate(R.layout.item_search_result_top_bar_content, null); - TextView tv_name = view.findViewById(R.id.tv_name); - tv_name.setText(videoTypeList.get(i).getName()); - setTopBarSelect(tv_name, i == p); - ll_top_bar.addView(view); - ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) view.getLayoutParams(); - params.rightMargin = DimenUtils.dip2px(getApplicationContext(), 17); - params.leftMargin = DimenUtils.dip2px(getApplicationContext(), 10); - view.setTag(i); - view.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - int p = Integer.parseInt(view.getTag() + ""); - selectTopBar(p); - VideoType vt = videoTypeList.get(p); + private List<VideoType> videoTypeList; + + private CommonNavigatorAdapter navigatorAdapter = new CommonNavigatorAdapter() { + + @Override + public int getCount() { + return videoTypeList == null ? 0 : videoTypeList.size(); + } + + + @Override + public IPagerTitleView getTitleView(final Context context, final int index) { + ColorTransitionPagerTitleView colorTransitionPagerTitleView = new ColorTransitionPagerTitleView(context) { + @Override + public void onSelected(int index, int totalCount) { + Log.i(TAG,"onSelected:"+index); + super.onSelected(index, totalCount); + getPaint().setFakeBoldText(true); + } + + @Override + public void onDeselected(int index, int totalCount) { + super.onDeselected(index, totalCount); + Log.i(TAG,"onDeselected:"+index); + getPaint().setFakeBoldText(false); + } + }; + colorTransitionPagerTitleView.setNormalColor(Color.parseColor("#FF787878")); + colorTransitionPagerTitleView.setSelectedColor(getResources().getColor(R.color.theme)); + colorTransitionPagerTitleView.setText(videoTypeList.get(index).getName()); + colorTransitionPagerTitleView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + VideoType vt = videoTypeList.get(index); if (StringUtils.isBlank(mCurrentType) || !mCurrentType.equalsIgnoreCase(vt.getId())) { + mMagicIndicator.onPageSelected(index); + mMagicIndicator.onPageScrolled(index, 0.0F, 0); + mCurrentPage = 1; mCurrentType = vt.getId(); rl_search_result.setRefreshing(true); search(mCurrentKey, mCurrentType); } + } }); + colorTransitionPagerTitleView.setTextSize(15); + + + + return colorTransitionPagerTitleView; } + + //姝や负tab鎸囩ず鍣ㄥ洖璋� + @Override + public IPagerIndicator getIndicator(Context context) { + Log.i(TAG,"getIndicator:"); + LinePagerIndicator indicator = new LinePagerIndicator(context); + indicator.setLineHeight(DimenUtils.dip2px(getApplicationContext(), 2)); + indicator.setColors(getResources().getColor(R.color.theme)); + indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT); + indicator.setRoundRadius(5); + return indicator; + } + }; + + private MagicIndicator mMagicIndicator; + + private void initTopBar(List<VideoType> videoTypeList) { + ll_top_bar.removeAllViews(); + this.videoTypeList = videoTypeList; + mMagicIndicator = new MagicIndicator(this); + CommonNavigator commonNavigator = new CommonNavigator(this); + commonNavigator.setAdapter(navigatorAdapter); + commonNavigator.setAdjustMode(false); + mMagicIndicator.setNavigator(commonNavigator); + Log.i(TAG, "mCurrentType:" + mCurrentType); + mMagicIndicator.onPageSelected(0); + ll_top_bar.addView(mMagicIndicator, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DimenUtils.spToPixels(26, getApplicationContext()))); } - private void setTopBarSelect(TextView tv_name, boolean selected) { - if (selected) { - tv_name.setBackgroundResource(R.drawable.vpi__tab_selected_pressed_holo); - tv_name.setTextSize(17); - tv_name.setTextColor(Color.parseColor("#FFFFFF")); - tv_name.setPadding(0, 0, 0, DimenUtils.dip2px(getApplicationContext(), 5)); - } else { - tv_name.setBackground(null); - tv_name.setTextSize(12); - tv_name.setTextColor(Color.parseColor("#999999")); - tv_name.setPadding(0, 0, 0, 0); - } - } - - private void selectTopBar(int p) { - for (int i = 0; i < ll_top_bar.getChildCount(); i++) { - TextView tv = ll_top_bar.getChildAt(i).findViewById(R.id.tv_name); - setTopBarSelect(tv, i == p); - } - } private void suggestSearch(String key) { SharedPreferences preferences = getSharedPreferences("user", @@ -397,7 +438,7 @@ if (jsonObject.getBoolean("IsPost")) { JSONObject rootData = jsonObject.getJSONObject("Data"); - List<VideoInfo> videoInfos = JsonUtil.videoGson.fromJson( + List<VideoInfo> videoInfos = JsonUtil.videoGson.fromJson( rootData.getJSONArray("data").toString(), new TypeToken<List<VideoInfo>>() { @@ -406,7 +447,7 @@ //璁剧疆瀵艰埅鏍� if (rootData.opt("typeList") != null) { if (typeList == null) { - typeList = JsonUtil.videoGson.fromJson( + typeList = JsonUtil.videoGson.fromJson( rootData .getJSONArray("typeList").toString(), new TypeToken<List<VideoType>>() { -- Gitblit v1.8.0