Android 集成两个类似于viewpager和TableLayout(动画)的recyclerview
嗯,这是我问的一个后续问题 现在我有两个<代码>RecyclerViews一个是日期,另一个是时间。我需要用某种方法将它们连接起来,这样它们就可以有一个Android 集成两个类似于viewpager和TableLayout(动画)的recyclerview,android,android-layout,android-recyclerview,android-viewpager,android-tablayout,Android,Android Layout,Android Recyclerview,Android Viewpager,Android Tablayout,嗯,这是我问的一个后续问题 现在我有两个RecyclerViews一个是日期,另一个是时间。我需要用某种方法将它们连接起来,这样它们就可以有一个ViewPager和TableLayout集成动画。刷卡只会让我选择下一个日期和时间。因此,我的布局文件如下。ViewPager的任何替代品都可以。当日期改变时,我需要一些动画。所以UX并没有变得疯狂 MainActivity.java public class MainActivity extends AppCompatActivity {
ViewPager
和TableLayout
集成动画。刷卡只会让我选择下一个日期和时间。因此,我的布局文件如下。ViewPager
的任何替代品都可以。当日期改变时,我需要一些动画。所以UX并没有变得疯狂
MainActivity.java
public class MainActivity extends AppCompatActivity {
public static final String TAG = MainActivity.class.getSimpleName();
ArrayList<String> setUpDatesList;
RecyclerView dateRV;
ChipDatesAdapter chipAdapter;
RecyclerView timeRV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpDatesList = new ArrayList<>();
dateRV = findViewById(R.id.chip_group_rv);
timeRV = findViewById(R.id.time_rv);
setUpDates();
setUpTimes();
}
ChipTimeAdapter chipTimeAdapter;
ArrayList<String> timeArrayList = new ArrayList<>();
void setUpTimes() {
DateFormat df = new SimpleDateFormat("HH:mm");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 10);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
int startDate = cal.get(Calendar.DATE);
while (cal.get(Calendar.DATE) == startDate) {
String timeIs = df.format(cal.getTime());
System.out.println(timeIs);
cal.add(Calendar.MINUTE, 30);
timeArrayList.add(timeIs);
}
chipTimeAdapter = new ChipTimeAdapter(timeArrayList);
timeRV.setAdapter(chipTimeAdapter);
timeRV.setLayoutManager(new GridLayoutManager(this,4));
}
void setUpDates() {
chipAdapter = new ChipDatesAdapter();
Calendar getAll30DaysCalendar = Calendar.getInstance();
for (int i = 0; i < 31; i++) {
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
String formattedDate = df.format(getAll30DaysCalendar.getTime());
setUpDatesList.add(formattedDate);
System.out.println(formattedDate.substring(0, 6));
getAll30DaysCalendar.add(Calendar.DATE, 1);
}
chipAdapter.setUpDates(setUpDatesList);
dateRV.setAdapter(chipAdapter);
dateRV.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
}
}
public class ChipDatesAdapter extends RecyclerView.Adapter<ChipDatesAdapter.chipViewHolder> {
ArrayList<String> datesString;
int lastSelectedPosition = 0;
void setUpDates(ArrayList<String> chipArrayList) {
datesString = new ArrayList<>();
datesString = chipArrayList;
}
@NonNull
@Override
public chipViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.item_chip_dates, parent, false);
return new chipViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final chipViewHolder holder, final int position) {
holder.chip.setText(datesString.get(position));
holder.chip.setChecked(lastSelectedPosition == position);
}
public static final String TAG = ChipDatesAdapter.class.getSimpleName();
@Override
public int getItemCount() {
return datesString.size();
}
class chipViewHolder extends RecyclerView.ViewHolder {
Chip chip;
public chipViewHolder(@NonNull View itemView) {
super(itemView);
chip = itemView.findViewById(R.id.chip_item);
chip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastSelectedPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
public class ChipTimeAdapter extends RecyclerView.Adapter<ChipTimeAdapter.ChipTimeViewHolder> {
int lastPosition = -1;
@NonNull
@Override
public ChipTimeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.item_chip_time, parent, false);
return new ChipTimeViewHolder(view);
}
ChipTimeAdapter(ArrayList<String> correctTime) {
this.correctTimeList = correctTime;
}
@Override
public void onBindViewHolder(@NonNull final ChipTimeViewHolder holder, final int position) {
holder.time.setText(correctTimeList.get(position));
holder.time.setChecked(lastPosition == position);
}
ArrayList<String> correctTimeList = new ArrayList<>();
@Override
public int getItemCount() {
return correctTimeList.size();
}
class ChipTimeViewHolder extends RecyclerView.ViewHolder {
RadioButton time;
public ChipTimeViewHolder(@NonNull View itemView) {
super(itemView);
time = itemView.findViewById(R.id.item_time);
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
public类MainActivity扩展了AppCompatActivity{
公共静态最终字符串标记=MainActivity.class.getSimpleName();
ArrayList设置日期列表;
回收视图数据;
芯片适配器;
回收视图时间;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpDatesList=newarraylist();
dateRV=findViewById(R.id.chip\u group\u rv);
timeRV=findViewById(R.id.time_rv);
设置日期();
设置时间();
}
芯片时间适配器芯片时间适配器;
ArrayList timeArrayList=新建ArrayList();
无效设置时间(){
DateFormat df=新的SimpleDataFormat(“HH:mm”);
Calendar cal=Calendar.getInstance();
校准设置(日历小时/天,10);
校准设置(日历分钟,0);
校准设置(日历秒,0);
int startDate=cal.get(Calendar.DATE);
while(cal.get(Calendar.DATE)=startDate){
字符串timeIs=df.format(cal.getTime());
系统输出打印项次(timeIs);
计算添加(日历分钟,30);
timeArrayList.add(timeIs);
}
chipTimeAdapter=新的chipTimeAdapter(timeArrayList);
timeRV.setAdapter(芯片时间适配器);
timeRV.setLayoutManager(新的GridLayoutManager(this,4));
}
作废日期(){
chipAdapter=新的ChipDatesAdapter();
Calendar getAll30DaysCalendar=Calendar.getInstance();
对于(int i=0;i<31;i++){
SimpleDataFormat df=新的SimpleDataFormat(“dd-MMM-yyyy”,Locale.getDefault());
字符串formattedDate=df.format(getAll30DaysCalendar.getTime());
setUpDatesList.add(格式化日期);
System.out.println(formattedDate.substring(0,6));
getAll30DaysCalendar.add(Calendar.DATE,1);
}
chipAdapter.setUpDates(setUpDatesList);
日期设置适配器(芯片适配器);
dateRV.setLayoutManager(新的LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
}
}
DatesAdapter.java
public class MainActivity extends AppCompatActivity {
public static final String TAG = MainActivity.class.getSimpleName();
ArrayList<String> setUpDatesList;
RecyclerView dateRV;
ChipDatesAdapter chipAdapter;
RecyclerView timeRV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpDatesList = new ArrayList<>();
dateRV = findViewById(R.id.chip_group_rv);
timeRV = findViewById(R.id.time_rv);
setUpDates();
setUpTimes();
}
ChipTimeAdapter chipTimeAdapter;
ArrayList<String> timeArrayList = new ArrayList<>();
void setUpTimes() {
DateFormat df = new SimpleDateFormat("HH:mm");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 10);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
int startDate = cal.get(Calendar.DATE);
while (cal.get(Calendar.DATE) == startDate) {
String timeIs = df.format(cal.getTime());
System.out.println(timeIs);
cal.add(Calendar.MINUTE, 30);
timeArrayList.add(timeIs);
}
chipTimeAdapter = new ChipTimeAdapter(timeArrayList);
timeRV.setAdapter(chipTimeAdapter);
timeRV.setLayoutManager(new GridLayoutManager(this,4));
}
void setUpDates() {
chipAdapter = new ChipDatesAdapter();
Calendar getAll30DaysCalendar = Calendar.getInstance();
for (int i = 0; i < 31; i++) {
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
String formattedDate = df.format(getAll30DaysCalendar.getTime());
setUpDatesList.add(formattedDate);
System.out.println(formattedDate.substring(0, 6));
getAll30DaysCalendar.add(Calendar.DATE, 1);
}
chipAdapter.setUpDates(setUpDatesList);
dateRV.setAdapter(chipAdapter);
dateRV.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
}
}
public class ChipDatesAdapter extends RecyclerView.Adapter<ChipDatesAdapter.chipViewHolder> {
ArrayList<String> datesString;
int lastSelectedPosition = 0;
void setUpDates(ArrayList<String> chipArrayList) {
datesString = new ArrayList<>();
datesString = chipArrayList;
}
@NonNull
@Override
public chipViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.item_chip_dates, parent, false);
return new chipViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final chipViewHolder holder, final int position) {
holder.chip.setText(datesString.get(position));
holder.chip.setChecked(lastSelectedPosition == position);
}
public static final String TAG = ChipDatesAdapter.class.getSimpleName();
@Override
public int getItemCount() {
return datesString.size();
}
class chipViewHolder extends RecyclerView.ViewHolder {
Chip chip;
public chipViewHolder(@NonNull View itemView) {
super(itemView);
chip = itemView.findViewById(R.id.chip_item);
chip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastSelectedPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
public class ChipTimeAdapter extends RecyclerView.Adapter<ChipTimeAdapter.ChipTimeViewHolder> {
int lastPosition = -1;
@NonNull
@Override
public ChipTimeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.item_chip_time, parent, false);
return new ChipTimeViewHolder(view);
}
ChipTimeAdapter(ArrayList<String> correctTime) {
this.correctTimeList = correctTime;
}
@Override
public void onBindViewHolder(@NonNull final ChipTimeViewHolder holder, final int position) {
holder.time.setText(correctTimeList.get(position));
holder.time.setChecked(lastPosition == position);
}
ArrayList<String> correctTimeList = new ArrayList<>();
@Override
public int getItemCount() {
return correctTimeList.size();
}
class ChipTimeViewHolder extends RecyclerView.ViewHolder {
RadioButton time;
public ChipTimeViewHolder(@NonNull View itemView) {
super(itemView);
time = itemView.findViewById(R.id.item_time);
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
公共类ChipDatesAdapter扩展了RecyclerView.Adapter{
ArrayList日期字符串;
int lastSelectedPosition=0;
无效设置日期(ArrayList芯片ArrayList){
datesString=newArrayList();
datesString=芯片阵列列表;
}
@非空
@凌驾
public chipViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
LayoutInflater充气器=LayoutInflater.from(parent.getContext());
视图=充气机。充气(R.layout.item\u chip\u dates,parent,false);
返回新的芯片视图支架(视图);
}
@凌驾
公共无效onBindViewHolder(@NonNull final chipViewHolder holder,final int position){
holder.chip.setText(datesString.get(position));
holder.chip.setChecked(lastSelectedPosition==位置);
}
public static final String TAG=ChipDatesAdapter.class.getSimpleName();
@凌驾
public int getItemCount(){
返回日期字符串.size();
}
类chipViewHolder扩展了RecyclerView.ViewHolder{
芯片;
公共chipViewHolder(@NonNull View itemView){
超级(项目视图);
chip=itemView.findviewbyd(R.id.chip\u项);
chip.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
lastSelectedPosition=getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
TimeAdapter.java
public class MainActivity extends AppCompatActivity {
public static final String TAG = MainActivity.class.getSimpleName();
ArrayList<String> setUpDatesList;
RecyclerView dateRV;
ChipDatesAdapter chipAdapter;
RecyclerView timeRV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpDatesList = new ArrayList<>();
dateRV = findViewById(R.id.chip_group_rv);
timeRV = findViewById(R.id.time_rv);
setUpDates();
setUpTimes();
}
ChipTimeAdapter chipTimeAdapter;
ArrayList<String> timeArrayList = new ArrayList<>();
void setUpTimes() {
DateFormat df = new SimpleDateFormat("HH:mm");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 10);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
int startDate = cal.get(Calendar.DATE);
while (cal.get(Calendar.DATE) == startDate) {
String timeIs = df.format(cal.getTime());
System.out.println(timeIs);
cal.add(Calendar.MINUTE, 30);
timeArrayList.add(timeIs);
}
chipTimeAdapter = new ChipTimeAdapter(timeArrayList);
timeRV.setAdapter(chipTimeAdapter);
timeRV.setLayoutManager(new GridLayoutManager(this,4));
}
void setUpDates() {
chipAdapter = new ChipDatesAdapter();
Calendar getAll30DaysCalendar = Calendar.getInstance();
for (int i = 0; i < 31; i++) {
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
String formattedDate = df.format(getAll30DaysCalendar.getTime());
setUpDatesList.add(formattedDate);
System.out.println(formattedDate.substring(0, 6));
getAll30DaysCalendar.add(Calendar.DATE, 1);
}
chipAdapter.setUpDates(setUpDatesList);
dateRV.setAdapter(chipAdapter);
dateRV.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
}
}
public class ChipDatesAdapter extends RecyclerView.Adapter<ChipDatesAdapter.chipViewHolder> {
ArrayList<String> datesString;
int lastSelectedPosition = 0;
void setUpDates(ArrayList<String> chipArrayList) {
datesString = new ArrayList<>();
datesString = chipArrayList;
}
@NonNull
@Override
public chipViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.item_chip_dates, parent, false);
return new chipViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final chipViewHolder holder, final int position) {
holder.chip.setText(datesString.get(position));
holder.chip.setChecked(lastSelectedPosition == position);
}
public static final String TAG = ChipDatesAdapter.class.getSimpleName();
@Override
public int getItemCount() {
return datesString.size();
}
class chipViewHolder extends RecyclerView.ViewHolder {
Chip chip;
public chipViewHolder(@NonNull View itemView) {
super(itemView);
chip = itemView.findViewById(R.id.chip_item);
chip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastSelectedPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
public class ChipTimeAdapter extends RecyclerView.Adapter<ChipTimeAdapter.ChipTimeViewHolder> {
int lastPosition = -1;
@NonNull
@Override
public ChipTimeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.item_chip_time, parent, false);
return new ChipTimeViewHolder(view);
}
ChipTimeAdapter(ArrayList<String> correctTime) {
this.correctTimeList = correctTime;
}
@Override
public void onBindViewHolder(@NonNull final ChipTimeViewHolder holder, final int position) {
holder.time.setText(correctTimeList.get(position));
holder.time.setChecked(lastPosition == position);
}
ArrayList<String> correctTimeList = new ArrayList<>();
@Override
public int getItemCount() {
return correctTimeList.size();
}
class ChipTimeViewHolder extends RecyclerView.ViewHolder {
RadioButton time;
public ChipTimeViewHolder(@NonNull View itemView) {
super(itemView);
time = itemView.findViewById(R.id.item_time);
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lastPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
公共类ChipTimeAdapter扩展了RecyclerView.Adapter{
int lastPosition=-1;
@非空
@凌驾
public ChipTimeViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
LayoutInflater LayoutInflater=LayoutInflater.from(parent.getContext());
视图=布局平坦。充气(R.layout.item\u chip\u time,parent,false);
返回新芯片TimeViewHolder(视图);
}
ChipTimeAdapter(ArrayList correctTime){
this.correctTimeList=correctTime;
}
@凌驾
公共无效onBindViewHolder(@NonNull final ChipTimeViewHolder,final int position){
holder.time.setText(correctTimeList.get(position));
holder.time.setChecked(lastPosition==位置);
}
ArrayList correctTimeList=新的ArrayList();
@凌驾
public int getItemCount(){
返回timelist.size();
}
类ChipTimeViewHolder扩展了RecyclerView.ViewHolder{
无线电按钮时间;
公共ChipTimeViewHolder(@NonNull View itemView){
超级(项目视图);
时间=itemView.findViewById(R.id.item\u时间);
time.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
lastPosition=getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
活动\u main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/linear_layout"
android:layout_height="match_parent"
android:layout_width="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/chip_group_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/time_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
<com.google.android.material.chip.Chip android:layout_width="wrap_content"
android:id="@+id/chip_item"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="8dp"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:textAppearance="?android:attr/textAppearance"
app:chipBackgroundColor="@color/bg_chip_color_selector_state"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:focusable="true">
</com.google.android.material.chip.Chip>
<RadioButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@android:color/transparent"
android:id="@+id/item_time"
android:layout_marginStart="8dp"
android:textColor="@color/selector_time"
android:fontFamily="@font/montserrat_medium_0"
xmlns:android="http://schemas.android.com/apk/res/android">
</RadioButton>
item\u chips\u date.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/linear_layout"
android:layout_height="match_parent"
android:layout_width="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/chip_group_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/time_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
<com.google.android.material.chip.Chip android:layout_width="wrap_content"
android:id="@+id/chip_item"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="8dp"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:textAppearance="?android:attr/textAppearance"
app:chipBackgroundColor="@color/bg_chip_color_selector_state"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:focusable="true">
</com.google.android.material.chip.Chip>
<RadioButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@android:color/transparent"
android:id="@+id/item_time"
android:layout_marginStart="8dp"
android:textColor="@color/selector_time"
android:fontFamily="@font/montserrat_medium_0"
xmlns:android="http://schemas.android.com/apk/res/android">
</RadioButton>
item\u chips\u time.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/linear_layout"
android:layout_height="match_parent"
android:layout_width="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/chip_group_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/time_rv"
android:layout_margin="8dp"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
<com.google.android.material.chip.Chip android:layout_width="wrap_content"
android:id="@+id/chip_item"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="8dp"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:textAppearance="?android:attr/textAppearance"
app:chipBackgroundColor="@color/bg_chip_color_selector_state"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:focusable="true">
</com.google.android.material.chip.Chip>
<RadioButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@android:color/transparent"
android:id="@+id/item_time"
android:layout_marginStart="8dp"
android:textColor="@color/selector_time"
android:fontFamily="@font/montserrat_medium_0"
xmlns:android="http://schemas.android.com/apk/res/android">
</RadioButton>