标签: android-chips

如何在 Flutter 中使用 ChoiceChip 创建带有自定义标签的包装

我正在学习颤振,但有些东西我在任何地方都找不到。

比如我想做一组 ChoiceChips,类似图片

在此输入图像描述

但我不知道如何在这种芯片上贴上自定义标签。

我怎样才能使它成为可能?

 import 'package:flutter/material.dart';

 class MyThreeOptions extends StatefulWidget {
  @override
   _MyThreeOptionsState createState() => _MyThreeOptionsState();
}

  class _MyThreeOptionsState extends State<MyThreeOptions> {
  int _value = 0;

  // ----What I want to appear----//
  /*void v (int index){
   switch (index){
   case 0: Text('Phones');
   break;

   case 1: Text('Computers');
   break;

   case 2: Text('Accessories');
   break;
   }}*/

  @override
  Widget build(BuildContext context) {
  return Wrap(
  alignment: WrapAlignment.center,
  spacing: 12.0,
  children: List<Widget>.generate(
  3,
      (int index) {
      return ChoiceChip(
       pressElevation: 0.0,
       selectedColor: Colors.blue, …
Run Code Online (Sandbox Code Playgroud)

android-chips flutter

4
推荐指数
1
解决办法
2万
查看次数

可水平滚动的Android芯片

我需要在水平滚动视图中使用android芯片实现解决方案。当发现有许多芯片要过滤时,我发现的所有库都使用多行解决方案。但是,我希望我能排成一行并滚动浏览其容器。

我知道像Pinterest这样的应用程序已经使用了这个和概念,但是我没有办法解决它。

在此处输入图片说明 在此处输入图片说明

android horizontalscrollview android-chips

3
推荐指数
1
解决办法
1105
查看次数

以编程方式设置材料芯片的背景色

Chip chip = new Chip(context);
chip.setBackgroundcolor(getResources().getColor(R.color.blue));
Run Code Online (Sandbox Code Playgroud)

上面的行给出了错误:

java.lang.UnsupportedOperationException: Do not set the background resource; Chip manages its own background drawable.
Run Code Online (Sandbox Code Playgroud)

android material android-chips material-components-android

3
推荐指数
4
解决办法
3823
查看次数

Android:设置默认选择芯片

有没有办法将选择芯片设置为默认选项?此外,如果只选择了一个芯片,就不能取消选中任何芯片吗?

xml android material-design android-chips material-components-android

3
推荐指数
1
解决办法
3260
查看次数

Android - 滚动到 ChipGroup 中选定的子位置

我正在尝试Chips在水平滚动中制作一个包含 4 的 Activity ChipGroup

此活动使用ChipGroup作为 API 调用的过滤器,并且可以有附加信息告诉用户选择了哪个芯片。

目前我正在这样做:

chipScroll.postDelayed(() -> {
                chipScroll.smoothScrollBy(800, 0);
            },100);
Run Code Online (Sandbox Code Playgroud)

但这对于我想要实现的目标来说是一个相当古怪的解决方案。

还有其他方法可以滚动到Chip水平滚动中的选定内容吗ChipGroup

编辑 :

我想过尝试迭代地获取所有芯片ChipGroup并匹配其 ID。但它似乎也很hacky。spinnerAdapter.getItem(spinner.getSelectedItemPosition)我的目标是这样的

android android-chips

3
推荐指数
1
解决办法
1593
查看次数

Flutter - 滚动列表视图时如何获得圆角边框?

我在列底部有带芯片的列表视图。

在从列表视图开始的第一个图像中,它是圆形的,但最后它显示为矩形。

第一张图片

滚动列表视图芯片 1 天时溢出。(第二张图片)。

第二张图片

我想两边底都需要圆形,怎么实现?提前致谢。

我的代码

Container(
                padding: EdgeInsets.only(
                  top: 16.0,
                ),
                width: MediaQuery.of(context).size.width,
                height: 100,
                decoration: BoxDecoration(
                    borderRadius: BorderRadius.circular(12.0),
                    color: Colors.white),
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    Text(""),
                    Container(
                      height: 35,
                      decoration: BoxDecoration(
                          borderRadius: BorderRadius.only(
                              bottomLeft: Radius.circular(12.0),
                              bottomRight: Radius.circular(12.0)),
                          color:
                              Theme.of(context).chipTheme.backgroundColor),
                      child: ListView(
                        scrollDirection: Axis.horizontal,
                        children: getChoiceChips(),
                      ),
                    )
                  ],
                ),
              )
Run Code Online (Sandbox Code Playgroud)

芯片功能

getChoiceChips() {
List<Widget> choiceChipList = [];
List<String> choiceString = [
  '1 Day',
  '1 Week',
  '1 Month',
  '3 Months',
  '1 Year'
];
for (String …
Run Code Online (Sandbox Code Playgroud)

listview android-listview dart android-chips flutter

3
推荐指数
1
解决办法
3079
查看次数

Android芯片:如何更改文本垂直填充?

有没有办法改变芯片文本垂直填充?我深入研究了 api,看起来我们只能使用以下方法更改 startPadding 和 endPadding:

app:chipStartPadding
app:chipEndPadding
app:textStartPadding
app:textEndPadding
Run Code Online (Sandbox Code Playgroud)

那么我们该如何做诸如更改chipTopPadding 或textTopPadding 之类的事情呢?

android material-design android-chips material-components-android

3
推荐指数
1
解决办法
1322
查看次数

Material Chip 输入小部件只能与 Theme.AppCompat 一起使用

在我使用 AutoCompleteEditText 和 ChipGroup 创建布局后,我试图在我的 Android 应用程序中创建一个 ChipInput,我将动态创建的 Chip 添加到其中,但在堆栈跟踪中出现以下错误:

E/ThemeUtils:视图类 com.google.android.material.chip.Chip 是一个 AppCompat 小部件,只能与 Theme.AppCompat 主题(或后代)一起使用。

此组件上的样式要求您的应用程序主题为 Theme.MaterialComponents(或其后代)。

问题是我的主题尚未设置为材质,但我仍然收到该错误,我什至尝试以编程方式将主题设置为芯片,但仍然出现该错误。

这是我以编程方式添加芯片的代码

private fun addChipToGroup(person: String, chipGroup: ChipGroup) {
    val chip = Chip(applicationContext)
    chip.text = person
    chip.isCloseIconVisible = true

    // necessary to get single selection working
    chip.isClickable = true
    chip.isCheckable = false
    chipGroup.addView(chip as View)
    chip.setOnCloseIconClickListener { chipGroup.removeView(chip as View) }
}
Run Code Online (Sandbox Code Playgroud)

应用程序在该方法的第一行崩溃

android android-theme kotlin android-chips material-components-android

3
推荐指数
1
解决办法
1096
查看次数

我需要在右上角的材料芯片上显示徽章。我怎样才能轻松做到呢?

我正在尝试这种方式

    override fun draw(canvas: Canvas) {
        super.draw(canvas)
        val viewWidth = width.toFloat()
        val padding = chipEndPadding
        canvas.drawOval(viewWidth - padding, padding, viewWidth, padding + padding, paint)
    }
Run Code Online (Sandbox Code Playgroud)

但它似乎没有出现,可能是因为chipDrawable。任何方法都可以实现这一点。此方法适用于所有其他视图,但不适用于芯片!

android android-chips material-components material-components-android

2
推荐指数
1
解决办法
829
查看次数

如何在android中使芯片背景透明?

我正在使用类似的动作芯片:

<com.google.android.material.chip.Chip
            android:id="@+id/copyLinkChip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/copy_link"
            app:chipIcon="@drawable/content_copy_background"
            app:chipIconTint="?attr/primaryText"
            android:textColor="?attr/primaryText"
            app:chipStrokeWidth="0.5dp"
            />
Run Code Online (Sandbox Code Playgroud)

我想让它的背景完全透明如何制作呢?

android material-design android-chips

2
推荐指数
1
解决办法
1285
查看次数