我需要在水平滚动视图中使用android芯片实现解决方案。我发现的所有库都使用多行解决方案,当需要使用许多芯片进行筛选时。然而,我希望我的是在一个单行,滚动在它的容器。
我知道像Pinterest这样的应用程序已经使用了这个和概念,但是我没有办法绕过它。


发布于 2018-11-05 13:11:22
尝试将ChipGroup放置在HorizontalScrollView布局中。
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.design.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.design.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="This" />
<android.support.design.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="is" />
// more chips...
</android.support.design.chip.ChipGroup>
</HorizontalScrollView>发布于 2019-08-02 10:42:38
用这个隐藏滚动条
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipsPrograms"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:paddingStart="@dimen/text_margin"
android:paddingEnd="@dimen/text_margin"
app:chipSpacing="8dp"
app:singleSelection="true"/>
</HorizontalScrollView>发布于 2019-09-12 07:02:20
尝试将ChipGroup放置在HorizontalScrollView中
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.design.chip.ChipGroup
android:id="@+id/chipGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</HorizontalScrollView>然后将芯片直接添加到ChipGroup中。
for(String string:set){
Chip chip = new Chip(binding.chipGroup.getContext());
LinearLayout.LayoutParams layoutParams= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(5,5,5,5);
chip.setLayoutParams(layoutParams);
chip.setText(string);
chip.setCloseIconEnabled(true);
chip.setChipBackgroundColor(getResources().getColorStateList(R.color.colorChipIconTint));
chip.setTextColor(getResources().getColorStateList(R.color.colorChipText));
chip.setCloseIconTint(getResources().getColorStateList(R.color.colorChipCloseIcon));
chip.setClickable(true);
chip.setCheckable(false);
binding.chipGroup.addView(chip );
chip.setOnCloseIconClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//binding.chipGroup.removeView(v);
setDataContainer.remove((String)((Chip)v).getText());
}
});
chip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SMSHomeActivity.this,PhoneNumberActivity.class);
ArrayList<GroupMobileNumberModel> groupMobileNumberModelList = (ArrayList<GroupMobileNumberModel>) PhoneNumberActivity.groupMobileNumberModelList();
intent.putParcelableArrayListExtra("groupMobileNumberModelList",groupMobileNumberModelList);
startActivity(intent);
}
});
}https://stackoverflow.com/questions/39860066
复制相似问题