解决方法:
在将要设置的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); // 默认单位是 sp
textView.setTextColor(ContextCompat.getColorStateList(requireContext(), android.R.color.black));
tab.setCustomView(textView);
binding.tabLayout.addTab(tab);
}
最终效果: