Hi Guys, Maybe you all are expert in terms of using RecyclerView in android. This blog is simple example for using filter option with RecyclerView adapter. As for now you will instantiate RecyclerView and set the adapter to RecyclerView as following way. RecyclerView list = (RecyclerView) findViewById(R.id.list); list.setLayoutManager(new LinearLayoutManager(this)); list.setHasFixedSize(true); ArrayList<Number> numbers = new ArrayList<>(); String ONEs[] = {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "TEN"}; String TENs[] = {"ZERO", "TEN", "TWENTY", "THIRTY", "FOURTY", "FIFTY", "SIXTY", "SEVENTY", "EIGHTY", "NINETY", "HUNDRED"}; String HUNDREDS[] = {"ZERO", "HUNDRED", "TWO HUND
We can change the color of spinner text by click the button. Following four steps will explain it clearly.
1. Create a xml named spinnertext.xml in res/layout folder. Here we customize the text of spinner.
spinnertext.xml
2. Create a xml named spinner_selector.xml in res/layout folder. Here we customize the spinner drop down menu.
spinner_selector.xml
3. Now main.xml. Here I get the togglebutton to change the color.
main.xml
4. Now in code we can work with toggle button to change the color.
code for toggle buttton
code for spinner adapter
complete code
SpinnerTextActivity.java
Screen shot 1. (ToggleButton is ON)
Screen shot 2. (ToggleButton is OFF)
1. Create a xml named spinnertext.xml in res/layout folder. Here we customize the text of spinner.
spinnertext.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/spinnerText" style="?android:attr/spinnerItemStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:paddingBottom="2dp" android:paddingLeft="6dp" android:textColor="#662293" />
2. Create a xml named spinner_selector.xml in res/layout folder. Here we customize the spinner drop down menu.
spinner_selector.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android" style="?android:attr/spinnerItemStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dp" android:textColor="#000000" />
3. Now main.xml. Here I get the togglebutton to change the color.
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ToggleButton" /> <Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
4. Now in code we can work with toggle button to change the color.
code for toggle buttton
ToggleButton mToggleButton = (ToggleButton) findViewById(R.id.toggleButton1); mToggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { TextView tv = (TextView) findViewById(R.id.spinnerText); if (isChecked) tv.setTextColor(Color.BLUE); else tv.setTextColor(Color.RED); } });
code for spinner adapter
String array[] = { "one", "two", "three" }; ArrayAdaptersp_adapter = new ArrayAdapter (this, R.layout.spinnertext, array); sp_adapter.setDropDownViewResource(R.layout.spinner_selector); Spinner sp = (Spinner) findViewById(R.id.spinner1); sp.setAdapter(sp_adapter);
complete code
SpinnerTextActivity.java
package com.example.spinnertext; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Spinner; import android.widget.TextView; import android.widget.ToggleButton; public class SpinnerTextActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ToggleButton mToggleButton = (ToggleButton) findViewById(R.id.toggleButton1); mToggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { TextView tv = (TextView) findViewById(R.id.spinnerText); if (isChecked) tv.setTextColor(Color.BLUE); else tv.setTextColor(Color.RED); } }); String array[] = { "one", "two", "three" }; ArrayAdapter<String> sp_adapter = new ArrayAdapter<String>(this, R.layout.spinnertext, array); sp_adapter.setDropDownViewResource (R.layout.spinner_selector); Spinner sp = (Spinner) findViewById(R.id.spinner1); sp.setAdapter(sp_adapter); } }
Screen shot 1. (ToggleButton is ON)
Screen shot 2. (ToggleButton is OFF)
Thank you for the post.
ReplyDeleteBut if I have two spinner and I want change text color only on the second one?