安卓android com.google.android.material.tabs.TabLayout 设置下拉图标无法正常显示
解决方法:
在将要设置的Drawalbe中添加如下代码:
if (drawable != null) {drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());}
完整代码:
private void initTab() {initSingleTab("关注", getResources().getDrawable(com.example.base_project.R.drawable.arrow_next_black));initSingleTab("最新", null);initSingleTab("好友圈", null);}private void initSingleTab(String tableName, Drawable drawable) {Log.e("initSingleTab", "initSingleTab: ");TabLayout.Tab tab = binding.tabLayout.newTab();TextView textView = new TextView(mContext);if (drawable != null) {drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());}textView.setCompoundDrawables(null, null, drawable, null);textView.setText(tableName);textView.setGravity(Gravity.CENTER);textView.setTextSize(14); // 默认单位是 sptextView.setTextColor(ContextCompat.getColorStateList(requireContext(), android.R.color.black));tab.setCustomView(textView);binding.tabLayout.addTab(tab);}
最终效果: