我正在使用 android.support.design.chip.Chip ,我遇到的问题是,当我通过 setText(“ ...”)动态设置文本时>,通过重叠图标错误地显示了文本,但是当我在xml文件中将其设置为 app:chipText =“ Hello” 时,它会正确显示。
这里有我的代码:
activity.java :
Chip x= new Chip(mView);
x.setChipDrawable(ChipDrawable.createFromResource(mView, R.xml.chip_style));
chip_style.xml :
<?xml version="1.0" encoding="utf-8"?>
<chip xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.MaterialComponents.Chip"
app:chipIcon="@drawable/ic_person"/>
---------------------解决方案--------------------- < / strong>
然后,解决方案是使用Chip方法 setChipText(CharSequence text)
答案 0 :(得分:0)
代替
android.support.design.chip.Chip
使用
实现'com.google.android.material:material:1.0.0-beta01'
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chip_text"
app:chipIcon="@drawable/ic_avatar_circle_24"/>
动态
val chip = Chip(context)
chip.text = "Name Surname"
chip.chipIcon = ContextCompat.getDrawable(requireContext(), baseline_person_black_18)
chip.isCloseIconEnabled = true
// following lines are for the demo
chip.setChipIconTintResource(R.color.chipIconTint)
chip.isClickable = true
chip.isCheckable = false
chipGroup.addView(chip as View)
chip.setOnCloseIconClickListener { chipGroup.removeView(chip as View) }
详细参考:https://medium.com/material-design-in-action/chips-material-components-for-android-46001664a40f
答案 1 :(得分:0)
我终于注意到我的错误,我正在使用:
trabajador.setText(FunctionsUtil.safeCursorGetValue(trabajadorData, KEY_NOMBRE));
代替:
trabajador.setChipText(FunctionsUtil.safeCursorGetValue(trabajadorData, KEY_NOMBRE));
然后,解决方案是使用Chip方法 setChipText(CharSequence text)