I am investigating the material components provided by
implementation group: 'com.google.android.material', name: 'material', version: '1.0.0-alpha3'
namely com.google.android.material.chip.Chip
Using Android Studio version
Android Studio 3.2 Canary 18
Build #AI-181.4892.42.32.4830125, built on June 8, 2018
JRE: 1.8.0_152-release-1136-b04 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.11.6
I created a basic application with this gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-P'
defaultConfig {
applicationId "com.research.peanut"
minSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0-alpha3'
implementation 'androidx.constraintlayout:constraintlayout:1.1.1'
implementation group: 'com.google.android.material', name: 'material', version: '1.0.0-alpha3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
}
Following this site
I added the following chips to my layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="@string/hello_world" />
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_add_circle_outline_24dp"
app:chipText="@string/hello_world" />
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="@string/hello_world" />
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipText="@string/hello_world"/>
<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_call_to_action_24dp"
app:chipText="@string/hello_world"/>
</LinearLayout>
I get have the following build issues
Android resource linking failed
Output: /Users/frankb/AndroidStudioCanaryProjects/wip/Peanut/app/src/main/res/layout/activity_main.xml:10: error: attribute chipText (aka com.research.peanut:chipText) not found.
/Users/frankb/AndroidStudioCanaryProjects/wip/Peanut/app/src/main/res/layout/activity_main.xml:15: error: attribute chipText (aka com.research.peanut:chipText) not found.
/Users/frankb/AndroidStudioCanaryProjects/wip/Peanut/app/src/main/res/layout/activity_main.xml:22: error: attribute chipText (aka com.research.peanut:chipText) not found.
/Users/frankb/AndroidStudioCanaryProjects/wip/Peanut/app/src/main/res/layout/activity_main.xml:28: error: attribute chipText (aka com.research.peanut:chipText) not found.
/Users/frankb/AndroidStudioCanaryProjects/wip/Peanut/app/src/main/res/layout/activity_main.xml:35: error: attribute chipText (aka com.research.peanut:chipText) not found.
error: failed linking file resources.
What am I missing?
UPDATE
when a change my gradle dependency to
implementation group: 'com.google.android.material', name: 'material', version: '1.0.0-alpha1'
My app works fine.
So you can use the setChipBackgroundColor(ColorStateList cl) method to set the color of your chip and then you can add an setOnClickListener(new ...) to toggle with selection and non-selection like the following code: yourchip. setOnClickListener(new View.
Tap a chip to select it. Multiple chips can be selected or unselected. An icon can be added to indicate when a filter chip is selected. Filter chip suggestions can dynamically change as users start to select filters.
Version 1.0.0-beta01
came out, and the text can now be set through android:text
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With