📌  相关文章
📜  Android中的Material Design组件芯片与示例

📅  最后修改于: 2021-05-10 14:43:59             🧑  作者: Mango

android中的芯片是用于在Android窗口的紧凑区域中进行选择过滤器,操作并显示可选选项的组件之一。在本文中,已经讨论了如何实现用于过滤选项的非常基本的可选芯片。请看以下图片,以了解进一步讨论的内容。注意,我们将使用Java语言实现该项目。

Android中的材料设计组件芯片

在Android中实现可选芯片的步骤

步骤1:创建一个空项目

  • 创建一个空的活动Android Studio项目。参考Android |如何在Android Studio中创建/启动新项目?了解如何创建一个空的活动Android Studio项目。
  • 请注意,选择Java作为编程语言。

步骤2:将依存关系添加到应用程序级Gradle文件

  • 当前项目需要材料设计依赖性。
  • 在应用程序级gradle文件中调用以下依赖项。
  • 确保系统已连接到网络,以便Android Studio可以下载所需的文件。
  • 然后点击右上角出现的“立即同步”按钮。
  • 如果无法找到应用程序级gradle文件并调用依赖项,请参考下图。

步骤3:使用activity_main.xml文件

  • 在Android中实现基本芯片所需的标签如下:
  • 要在布局中实现相同的功能,请调用以下代码。此布局包括来自Material Design Dependency的非常基本的芯片。
XML


  
    
  


Java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.chip.Chip;
  
public class MainActivity extends AppCompatActivity {
  
    Chip chip1;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
          // chips is handled using the 
          // normal OnClickListener callback
        chip1 = findViewById(R.id.chipGfg);
        chip1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Action Completed", Toast.LENGTH_SHORT).show();
            }
        });
    }
}


XML


  
    
    
    
  
        
  
        
  
        
  
    
  


Java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.chip.Chip;
  
public class MainActivity extends AppCompatActivity {
  
    Chip chipCpp, chipJava, chipPython;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        chipCpp = findViewById(R.id.chipCpp);
        chipJava = findViewById(R.id.chipJava);
        chipPython = findViewById(R.id.chipPython);
  
        chipCpp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user
                  // or not and give the suitable Toast message
                if (chipCpp.isChecked()) {
                    Toast.makeText(MainActivity.this, "C++ selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "C++ deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
        chipJava.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user or
                  // not and give the suitable Toast message
                if (chipJava.isChecked()) {
                    Toast.makeText(MainActivity.this, "JAVA selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "JAVA deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
        chipPython.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user or 
                  // not and give the suitable Toast message
                if (chipPython.isChecked()) {
                    Toast.makeText(MainActivity.this, "Python selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "Python deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
    }
}


输出界面:

步骤4:在MainActivity中处理Chip。 Java文件

  • 与“普通按钮相同,使用“ OnClickListener”处理“材料设计芯片”按钮。
  • MainaActivity中调用以下代码处理筹码按钮的Java文件,其中显示了简单的Toast消息。

Java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.chip.Chip;
  
public class MainActivity extends AppCompatActivity {
  
    Chip chip1;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
          // chips is handled using the 
          // normal OnClickListener callback
        chip1 = findViewById(R.id.chipGfg);
        chip1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Action Completed", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

输出:在模拟器上运行

使芯片可选

  • 为了使芯片在android中可选,芯片组需要实现而不是单个芯片。
  • 这有助于过滤用户选择的选择。
  • 要在android中实现芯片组,请在activity_main.xml文件中调用以下代码。

XML格式



  
    
    
    
  
        
  
        
  
        
  
    
  

  • 要处理芯片的选择(无论是否由用户过滤芯片),请在MainActivity内部调用以下代码。 Java文件。

Java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.chip.Chip;
  
public class MainActivity extends AppCompatActivity {
  
    Chip chipCpp, chipJava, chipPython;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        chipCpp = findViewById(R.id.chipCpp);
        chipJava = findViewById(R.id.chipJava);
        chipPython = findViewById(R.id.chipPython);
  
        chipCpp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user
                  // or not and give the suitable Toast message
                if (chipCpp.isChecked()) {
                    Toast.makeText(MainActivity.this, "C++ selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "C++ deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
        chipJava.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user or
                  // not and give the suitable Toast message
                if (chipJava.isChecked()) {
                    Toast.makeText(MainActivity.this, "JAVA selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "JAVA deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
        chipPython.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // check whether the chips is filtered by user or 
                  // not and give the suitable Toast message
                if (chipPython.isChecked()) {
                    Toast.makeText(MainActivity.this, "Python selected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this, "Python deselected", Toast.LENGTH_SHORT).show();
                }
            }
        });
  
    }
}

输出:在模拟器上运行

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!