0% found this document useful (0 votes)
5 views12 pages

Task15 CustomLayout

The document contains XML layout files for a home fragment in an Android application, including a search bar, an image slider for top-rated anime, and a grid layout for displaying anime titles and authors. It also includes Java code for the HomeFragment class, which handles user interactions, such as searching for anime and navigating to different activities based on user input. Additionally, a custom list layout for displaying anime items is defined within the document.

Uploaded by

Onkar Mantri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views12 pages

Task15 CustomLayout

The document contains XML layout files for a home fragment in an Android application, including a search bar, an image slider for top-rated anime, and a grid layout for displaying anime titles and authors. It also includes Java code for the HomeFragment class, which handles user interactions, such as searching for anime and navigating to different activities based on user input. Additionally, a custom list layout for displaying anime items is defined within the document.

Uploaded by

Onkar Mantri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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]>

You might also like