Fragment_home.
xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".[Link]">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/llhome"
android:background="#AA2BBF"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1">
<EditText
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="0.90"
android:id="@+id/ethomesearchbar"
android:hint="Enter Your Text"
android:textColorHint="#4A148C"
android:textSize="15sp"
android:background="@drawable/search_bg"
android:paddingLeft="6dp"/>
<ImageView
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="0.10"
android:id="@+id/ivhomesearchmic"
android:src="@drawable/mic_icon"
app:tint="@color/white"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgroundTint="#782487"
android:text="TOP RATED ANIME"
android:textSize="20dp"
android:layout_marginTop="8dp"
android:layout_marginLeft="6dp"
android:textColor="@color/white"
/>
<[Link]
android:layout_width="match_parent"
android:layout_height="250dp"
android:id="@+id/ishometopanime"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
app:iss_auto_cycle="true"
app:iss_period="2000"
app:iss_delay="2000"
app:iss_text_align="CENTER"
app:iss_text_color="@color/white"
app:iss_no_dots="false"
app:iss_selected_dot="@drawable/default_selected_dot"
app:iss_unselected_dot="@drawable/default_unselected_dot"
android:background="#782487"
/>
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/glhome"
android:padding="8dp"
android:columnCount="2"
android:layout_gravity="center_horizontal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:paddingBottom="2dp"
>
<[Link]
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/cvhomesongs"
app:cardCornerRadius="16sp"
app:cardElevation="10dp"
android:layout_marginBottom="10dp"
android:backgroundTint="#782487"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="177dp"
android:layout_gravity="center"
android:src="@drawable/song_th"
android:scaleType="fitXY"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Best Anime Songs"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="22sp"
android:textStyle="italic"/>
</LinearLayout>
</[Link]>
</LinearLayout>
</LinearLayout>
</ScrollView>
</FrameLayout>
[Link]
Applying the custom layout and Filtering the search result
package [Link];
import static [Link].RESULT_OK;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].R;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class HomeFragment extends Fragment {
CardView cvhomesongs;
ImageSlider imageSlider;
Handler handler;
EditText ethomesearchbar;
ImageView ivhomesearchmic;
private static final int request_for_speech_input = 1;
TextToSpeech textToSpeech;
GridLayout gridLayout;
String[] animename = {"ONE PIECE","NARUTO","NARUTO SHIPPUDEN","BLEACH",
"DRAGON BALL Z","DEATH NOTE","ATTACK ON TITAN","DEMON SLAYER"};
String[] animeauthor ={"Eiichiro Oda","Masashi Kishimoto","Masashi Kishimoto","Noriaki Kubo",
"Akira Toriyama","Tsugumi Ohba/ Takeshi Obata","Hajime Isayama","Koyoharu Gotouge"};
int[] coverpage = {[Link].one_piece_th,[Link].naruto_th,
[Link].narutoshipp_th,[Link].bleach_th,[Link].dragonball_th,
[Link].deathnote_th,[Link].aot_th,[Link].demonslayer_th};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = [Link]([Link].fragment_home, container, false);
[Link](getActivity(), "Wellcome to Home", Toast.LENGTH_SHORT).show();
imageSlider = [Link]([Link]);
ArrayList<SlideModel> slideModelArrayList = new ArrayList<>();
[Link](new SlideModel([Link].vinland_saga_th,
"VINLAND SAGA", ScaleTypes.CENTER_INSIDE));
[Link](new SlideModel([Link].my_hero_academia_th,
"MY HERO ACADEMIA", ScaleTypes.CENTER_INSIDE));
[Link](new SlideModel([Link].jujutsu_kaisen_th,
"JUJUTSU KAISEN", ScaleTypes.CENTER_INSIDE));
[Link](new SlideModel([Link].tokyo_revengers_th,
"TOKYO REVENGERS", ScaleTypes.CENTER_INSIDE));
[Link](slideModelArrayList);
[Link](new [Link]()
{
@Override
public void onItemSelected(int position) {
Intent intent = null;
switch (position) {
case 0:
intent = new Intent(getActivity(), [Link]);
break;
case 1:
intent = new Intent(getActivity(), [Link]);
break;
case 2:
intent = new Intent(getActivity(), [Link]);
break;
case 3:
intent = new Intent(getActivity(), [Link]);
break;
}
if (intent != null) {
startActivity(intent);
}
}
@Override
public void doubleClick(int position){
}
});
cvhomesongs = [Link]([Link]);
[Link](new [Link]() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getActivity(),[Link]);
startActivity(intent);
requireActivity().finish();
}
});
gridLayout = [Link]([Link]);
LayoutInflater inflater1 = [Link](getActivity());
for (int i=0; i<[Link];i++)
{
View view1 = [Link]([Link],gridLayout,false);
ImageView ivimage = [Link]([Link]);
TextView tvanimename = [Link]([Link]);
TextView tvauthor = [Link]([Link]);
[Link](coverpage[i]);
[Link](animename[i]);
[Link]("Author: "+animeauthor[i]);
[Link](view1);
ethomesearchbar = [Link]([Link]);
ivhomesearchmic = [Link]([Link]);
[Link](new [Link]() {
@Override
public void onClick(View v) {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
[Link](RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
[Link](RecognizerIntent.EXTRA_LANGUAGE,
[Link]());
[Link](RecognizerIntent.EXTRA_PROMPT,
"Speak Now");
try {
startActivityForResult(intent, request_for_speech_input);
}catch (Exception e)
{
[Link](getActivity(), ""+[Link](), Toast.LENGTH_SHORT).show();
}
}
});
gridLayout = [Link]([Link]);
loadAnimeItems("");
[Link](new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
loadAnimeItems([Link]());
@Override
public void afterTextChanged(Editable s) {
}
});
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
[Link](requestCode, resultCode, data);
if (requestCode == 1)
{
if (resultCode == RESULT_OK && data != null)
{
ArrayList<String> result = [Link](RecognizerIntent.EXTRA_RESULTS);
String spokenText = [Link](0);
[Link](spokenText);
}
}
}
private void loadAnimeItems(String query){
[Link]();
LayoutInflater inflater = [Link](getActivity());
for (int i= 0; i< [Link]; i++){
if ([Link]() || animename[i].toLowerCase().contains([Link]()) ||
animeauthor[i].toLowerCase().contains([Link]())){
View itemView = [Link]([Link],gridLayout,false);
ImageView ivimage = [Link]([Link]);
TextView tvanimename = [Link]([Link]);
TextView tvauthor = [Link]([Link]);
[Link](coverpage[i]);
[Link](animename[i]);
[Link]("Author: "+ animeauthor[i]);
[Link](itemView);
}
}
}
}
[Link]
<?xml version="1.0" encoding="utf-8"?>
<[Link]
xmlns:android="[Link]
xmlns:app="[Link]
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/homeonepiece"
app:cardCornerRadius="16sp"
app:cardElevation="10dp"
android:layout_marginLeft="10dp"
android:layout_margin="15dp"
android:backgroundTint="#782487"
>
<LinearLayout
android:layout_width="160dp"
android:layout_height="240dp"
android:orientation="vertical"
android:padding="10dp">
<ImageView
android:layout_width="110dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:id="@+id/ivcoverpage"
android:src="@drawable/one_piece_th" />
<TextView
android:id="@+id/tvhomeanimename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="ONE PIECE"
android:textAlignment="center"
android:textColor="#4A148C"
android:textSize="16sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/tvhomeanimeauthor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Author: Eiichiro Oda"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textStyle="italic"
android:textSize="12sp"/>
</LinearLayout>
</[Link]>