今日主要完成了手机端的分类排序的页面绘制,以及分类排序信息的获取测试。
分为四个RadioGroup分别对应类型,时间,地区,排序方式。
由于分类项过多,所以将RadioButton进行了分行处理。
测试了获取所点击的分类标签,通过对RadioGroup设置监听事件实现。
测试了点击获取更多的功能。
<?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"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <com.example.cloudlibrary.tools.FlowRadioGroup android:id="@+id/type_group" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/type_group_all" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="全部"></RadioButton> <RadioButton android:id="@+id/type_1" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="喜剧"></RadioButton> <RadioButton android:id="@+id/type_2" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="奇幻"></RadioButton> <RadioButton android:id="@+id/type_3" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="魔幻"></RadioButton> <RadioButton android:id="@+id/type_4" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="爱情"></RadioButton> <RadioButton android:id="@+id/type_5" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="剧情"></RadioButton> <RadioButton android:id="@+id/type_6" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="悬疑"></RadioButton> <RadioButton android:id="@+id/type_7" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="惊悚"></RadioButton> <RadioButton android:id="@+id/type_8" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="动作"></RadioButton> <RadioButton android:id="@+id/type_9" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="灾难"></RadioButton> </com.example.cloudlibrary.tools.FlowRadioGroup> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#EEAAFF" /> <com.example.cloudlibrary.tools.FlowRadioGroup android:id="@+id/date_group" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/date_group_all" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="全部"></RadioButton> <RadioButton android:id="@+id/date_1" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="2021"></RadioButton> <RadioButton android:id="@+id/date_2" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="2020"></RadioButton> <RadioButton android:id="@+id/date_3" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="2019"></RadioButton> <RadioButton android:id="@+id/date_4" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="2018"></RadioButton> <RadioButton android:id="@+id/date_5" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="2017"></RadioButton> <RadioButton android:id="@+id/date_6" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="2016"></RadioButton> <RadioButton android:id="@+id/date_7" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="2015"></RadioButton> <RadioButton android:id="@+id/date_8" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="2014"></RadioButton> <RadioButton android:id="@+id/date_9" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="2013"></RadioButton> </com.example.cloudlibrary.tools.FlowRadioGroup> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#EEAAFF" /> <com.example.cloudlibrary.tools.FlowRadioGroup android:id="@+id/area_group" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/area_group_all" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="全部"></RadioButton> <RadioButton android:id="@+id/area_1" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="中国"></RadioButton> <RadioButton android:id="@+id/area_2" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="美国"></RadioButton> <RadioButton android:id="@+id/area_3" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="日本"></RadioButton> <RadioButton android:id="@+id/area_4" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="香港"></RadioButton> <RadioButton android:id="@+id/area_5" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="*"></RadioButton> <RadioButton android:id="@+id/area_6" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="法国"></RadioButton> <RadioButton android:id="@+id/area_7" android:layout_width="wrap_content" android:layout_height="10dp" style="@style/tab_menu_type" android:text="德国"></RadioButton> <RadioButton android:id="@+id/area_8" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="英国"></RadioButton> <RadioButton android:id="@+id/area_9" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="10dp" android:text="印度"></RadioButton> </com.example.cloudlibrary.tools.FlowRadioGroup> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#EEAAFF" /> <RadioGroup android:id="@+id/first_group" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ffffff" android:orientation="horizontal"> <RadioButton android:id="@+id/first_1" android:layout_width="wrap_content" android:layout_height="30dp" style="@style/tab_menu_type" android:text="最热门"></RadioButton> <RadioButton android:id="@+id/first_2" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="30dp" android:text="最近更新"></RadioButton> <RadioButton android:id="@+id/first_3" style="@style/tab_menu_type" android:layout_width="wrap_content" android:layout_height="30dp" android:text="评分最高"></RadioButton> </RadioGroup> <View android:layout_width="match_parent" android:layout_height="2px" android:layout_above="@id/main_group" android:background="#EEAAFF" /> <ListView android:id="@+id/class_show" android:layout_width="match_parent" android:layout_height="wrap_content"></ListView> <Button android:id="@+id/more_show" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="加 载 更 多" android:textSize="20dp"> </Button> <TextView android:id="@+id/test" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="测试"> </TextView> </LinearLayout> </LinearLayout> </LinearLayout>
package com.example.cloudlibrary.Fragment; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import com.example.cloudlibrary.R; import com.example.cloudlibrary.tools.FlowRadioGroup; import org.intellij.lang.annotations.Flow; import java.util.Random; public class CloudPageFragment extends Fragment implements RadioGroup.OnCheckedChangeListener{ public CloudPageFragment(){ } FlowRadioGroup type_group; FlowRadioGroup date_group; FlowRadioGroup area_group; RadioGroup first_group; Button more_show; TextView test; int num=0; String[] str_s={"","","","","0"}; View view; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.activity_cloud_page, container, false); type_group=(FlowRadioGroup)view.findViewById(R.id.type_group); date_group=(FlowRadioGroup)view.findViewById(R.id.date_group); area_group=(FlowRadioGroup)view.findViewById(R.id.area_group); first_group=(RadioGroup)view.findViewById(R.id.first_group); more_show=(Button)view.findViewById(R.id.more_show); test=(TextView)view.findViewById(R.id.test); type_group.setOnCheckedChangeListener(this); date_group.setOnCheckedChangeListener(this); area_group.setOnCheckedChangeListener(this); first_group.setOnCheckedChangeListener(this); more_show.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { num=num+20; str_s[4]=""+num; test.setText(str_s[0]+str_s[1]+str_s[2]+str_s[3]+str_s[4]); } }); return view; } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if(group==type_group){ RadioButton type_button=(RadioButton)view.findViewById(checkedId); str_s[0]=type_button.getText().toString(); } if(group==date_group){ RadioButton type_button=(RadioButton)view.findViewById(checkedId); str_s[1]=type_button.getText().toString(); } if(group==area_group){ RadioButton type_button=(RadioButton)view.findViewById(checkedId); str_s[2]=type_button.getText().toString(); } if(group==first_group){ RadioButton type_button=(RadioButton)view.findViewById(checkedId); str_s[3]=type_button.getText().toString(); } num=0; str_s[4]=""+num; test.setText(str_s[0]+str_s[1]+str_s[2]+str_s[3]+str_s[4]); } }
点击每组的分类下面会显示你选择的标签,点击加载更多会将数字下标增加20,
当更换标签时,数字下标会重置为10,这样用户的选择的标签已经获取,将其封装后发给web服务,请求会数据就可以显示了。