首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android Java 动态修改 CheckBox 样式

和尚我一直在处理动态配置页面颜色方面的工作,包括各布局,各控件等,而和尚我却在最常用最基本的 CheckBox 选项框这个控件却栽了跟头,折腾了好久,今天有机会总结整理一下。 大家都很熟悉,xml 在很多时候大大节省了我们开发的时间,但 xml 里面配置的样式只有默认的,在动态修改方面还是要靠 Java/Kotlin 代码优化。基本上 xml 中可以配置的属性在 Java/Kotlin 代码中都有相对应的方法,然而和尚我在对应使用 CheckBox 控件的 android:buttonTint="@color/colorAccent" 属性时,却不尽如人意,不仅在设置过程中需要版本大于21,更重要的是设置完之后并不起效果。和尚我也查阅了不少资料,请教了几位大神,依旧没有解决问题。 实在没办法,和尚我决定放弃 CheckBox 转投 v7 包中的 AppCompatCheckBox,通过设置 setSupportButtonTintList 方法来动态修改选项框颜色。

02

android-popwindow显示位置不对

private void showAllPopWindow() { cityId = “0”; final View popupView = mInflater.inflate(R.layout.activity_recruit_all, null); View other_view= popupView.findViewById(R.id.other_view); RecyclerView recyclerView = (RecyclerView) popupView.findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); final RecyclerView.Adapter adapter = new CommonAdapter(this, R.layout.activity_recruit_all_item, mCityData) { @Override protected void convert(ViewHolder holder, RecruitCityEntity entity, final int position) { holder.setText(R.id.text, entity.getCityName()); if (mCityData.get(position).isCheck()) { holder.setTextColor(R.id.text, ContextCompat.getColor(RecruitActivity.this, R.color.theme_gold)); } else { holder.setTextColor(R.id.text, ContextCompat.getColor(RecruitActivity.this, R.color.black)); } holder.setOnClickListener(R.id.text, new View.OnClickListener() { @Override public void onClick(View view) { cityId = mCityData.get(position).getId(); for (int i=0;i<mCityData.size();i++) mCityData.get(i).setCheck(false); mCityData.get(position).setCheck(true); notifyDataSetChanged(); if (window!=null) window.dismiss(); mRefreshLayout.beginRefreshing(); } }); } }; recyclerView.setAdapter(adapter);

02
领券