Limpiando codigo y personazlicaiones finales de la app

This commit is contained in:
santi 2025-05-27 19:42:55 +02:00
parent 589b948054
commit d2c1b28a83
26 changed files with 476 additions and 370 deletions

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
@ -50,8 +51,13 @@ public class CommentDialog extends Dialog {
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dialog_comment); setContentView(R.layout.dialog_comment);
editComment = findViewById(R.id.commentInput); getWindow().setLayout(
buttonSend = findViewById(R.id.sendComment); (int)(getContext().getResources().getDisplayMetrics().widthPixels * 0.9),
ViewGroup.LayoutParams.WRAP_CONTENT
);
editComment = findViewById(R.id.editComment);
buttonSend = findViewById(R.id.buttonSend);
api = ApiClient.getClient().create(ApiService.class); api = ApiClient.getClient().create(ApiService.class);
// Prefill @usuario si es respuesta // Prefill @usuario si es respuesta

View File

@ -75,13 +75,19 @@ public class AddAnimeFragment extends Fragment {
private void setupSpinners() { private void setupSpinners() {
ArrayAdapter<CharSequence> statusAdapter = ArrayAdapter.createFromResource( ArrayAdapter<CharSequence> statusAdapter = ArrayAdapter.createFromResource(
requireContext(), R.array.anime_status_array, android.R.layout.simple_spinner_item); requireContext(),
statusAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); R.array.anime_status_array,
R.layout.item_spinner
);
statusAdapter.setDropDownViewResource(R.layout.item_spinner); // blanco también al desplegar
statusSpinner.setAdapter(statusAdapter); statusSpinner.setAdapter(statusAdapter);
ArrayAdapter<CharSequence> typeAdapter = ArrayAdapter.createFromResource( ArrayAdapter<CharSequence> typeAdapter = ArrayAdapter.createFromResource(
requireContext(), R.array.anime_type_array, android.R.layout.simple_spinner_item); requireContext(),
typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); R.array.anime_type_array,
R.layout.item_spinner
);
typeAdapter.setDropDownViewResource(R.layout.item_spinner);
typeSpinner.setAdapter(typeAdapter); typeSpinner.setAdapter(typeAdapter);
} }

View File

@ -74,16 +74,23 @@ public class AddMangaFragment extends Fragment {
private void setupSpinners() { private void setupSpinners() {
ArrayAdapter<CharSequence> statusAdapter = ArrayAdapter.createFromResource( ArrayAdapter<CharSequence> statusAdapter = ArrayAdapter.createFromResource(
requireContext(), R.array.manga_status_array, android.R.layout.simple_spinner_item); requireContext(),
statusAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); R.array.manga_status_array,
R.layout.item_spinner // texto blanco para ítem seleccionado
);
statusAdapter.setDropDownViewResource(R.layout.item_spinner); // también para el desplegable
statusSpinner.setAdapter(statusAdapter); statusSpinner.setAdapter(statusAdapter);
ArrayAdapter<CharSequence> typeAdapter = ArrayAdapter.createFromResource( ArrayAdapter<CharSequence> typeAdapter = ArrayAdapter.createFromResource(
requireContext(), R.array.manga_type_array, android.R.layout.simple_spinner_item); requireContext(),
typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); R.array.manga_type_array,
R.layout.item_spinner
);
typeAdapter.setDropDownViewResource(R.layout.item_spinner);
typeSpinner.setAdapter(typeAdapter); typeSpinner.setAdapter(typeAdapter);
} }
private void setupRecycler() { private void setupRecycler() {
searchAdapter = new MangaSearchAdapter(new ArrayList<>(), this::onMangaSelected); searchAdapter = new MangaSearchAdapter(new ArrayList<>(), this::onMangaSelected);
searchResults.setAdapter(searchAdapter); searchResults.setAdapter(searchAdapter);

View File

@ -61,17 +61,26 @@ public class FragmentBrowse extends Fragment {
recyclerViewResults = view.findViewById(R.id.recyclerViewResults); recyclerViewResults = view.findViewById(R.id.recyclerViewResults);
recyclerViewResults.setLayoutManager(new LinearLayoutManager(getContext())); recyclerViewResults.setLayoutManager(new LinearLayoutManager(getContext()));
// Aseguramos que el Spinner tenga las opciones ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_spinner_item, new String[]{"Anime", "Manga"}); requireContext(),
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); R.layout.item_spinner_large,
new String[]{"Anime", "Manga"}
);
spinnerAdapter.setDropDownViewResource(R.layout.item_spinner_large);
spinnerType.setAdapter(spinnerAdapter); spinnerType.setAdapter(spinnerAdapter);
editTextSearch.addTextChangedListener(new TextWatcher() { editTextSearch.addTextChangedListener(new TextWatcher() {
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
handler.removeCallbacks(searchRunnable); handler.removeCallbacks(searchRunnable);
} }
@Override public void afterTextChanged(Editable s) {
@Override
public void afterTextChanged(Editable s) {
searchRunnable = () -> performSearch(s.toString()); searchRunnable = () -> performSearch(s.toString());
handler.postDelayed(searchRunnable, 500); handler.postDelayed(searchRunnable, 500);
} }

View File

@ -66,10 +66,12 @@ public class EditAnimeFragment extends Fragment {
String[] statusArray = getResources().getStringArray(R.array.anime_status_array); String[] statusArray = getResources().getStringArray(R.array.anime_status_array);
String[] typeArray = getResources().getStringArray(R.array.anime_type_array); String[] typeArray = getResources().getStringArray(R.array.anime_type_array);
ArrayAdapter<String> statusAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_spinner_item, statusArray); ArrayAdapter<String> statusAdapter = new ArrayAdapter<>(requireContext(), R.layout.item_spinner, statusArray);
statusAdapter.setDropDownViewResource(R.layout.item_spinner); // Aplica color blanco en lista desplegable también
spinnerStatus.setAdapter(statusAdapter); spinnerStatus.setAdapter(statusAdapter);
ArrayAdapter<String> typeAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_spinner_item, typeArray); ArrayAdapter<String> typeAdapter = new ArrayAdapter<>(requireContext(), R.layout.item_spinner, typeArray);
typeAdapter.setDropDownViewResource(R.layout.item_spinner);
spinnerType.setAdapter(typeAdapter); spinnerType.setAdapter(typeAdapter);
for (int i = 0; i < statusArray.length; i++) { for (int i = 0; i < statusArray.length; i++) {

View File

@ -64,10 +64,12 @@ public class EditMangaFragment extends Fragment {
String[] statusArray = getResources().getStringArray(R.array.manga_status_array); String[] statusArray = getResources().getStringArray(R.array.manga_status_array);
String[] typeArray = getResources().getStringArray(R.array.manga_type_array); String[] typeArray = getResources().getStringArray(R.array.manga_type_array);
ArrayAdapter<String> statusAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_spinner_item, statusArray); ArrayAdapter<String> statusAdapter = new ArrayAdapter<>(requireContext(), R.layout.item_spinner, statusArray);
statusAdapter.setDropDownViewResource(R.layout.item_spinner);
spinnerStatus.setAdapter(statusAdapter); spinnerStatus.setAdapter(statusAdapter);
ArrayAdapter<String> typeAdapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_spinner_item, typeArray); ArrayAdapter<String> typeAdapter = new ArrayAdapter<>(requireContext(), R.layout.item_spinner, typeArray);
typeAdapter.setDropDownViewResource(R.layout.item_spinner);
spinnerType.setAdapter(typeAdapter); spinnerType.setAdapter(typeAdapter);
for (int i = 0; i < statusArray.length; i++) { for (int i = 0; i < statusArray.length; i++) {

View File

@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> android:shape="rectangle">
<solid android:color="@color/textPrimary" /> <!-- Fondo oscuro --> <solid android:color="@color/primary" /> <!-- Fondo oscuro -->
<corners android:radius="12dp" /> <!-- Bordes redondeados --> <corners android:radius="12dp" /> <!-- Bordes redondeados -->

View File

@ -1,8 +0,0 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="8dp" />
<stroke
android:width="1dp"
android:color="#CCCCCC" />
</shape>

View File

@ -4,33 +4,30 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="24dp"
android:background="?android:attr/windowBackground"> android:background="@color/background"
android:gravity="center_horizontal">
<EditText <EditText
android:id="@+id/commentInput" android:id="@+id/editComment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="150dp"
android:hint="Escribe tu comentario..." android:hint="Escribe tu comentario..."
android:minHeight="80dp"
android:gravity="top|start" android:gravity="top|start"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:maxLines="5"
android:background="@color/primary" android:background="@color/primary"
android:padding="12dp" android:padding="16dp"
android:textColor="@color/textPrimary" android:textColor="@color/textPrimary"
android:textColorHint="@color/textPrimary" android:textColorHint="@color/textPrimary"
android:textSize="15sp" /> android:textSize="16sp" />
<Button <Button
android:id="@+id/sendComment" android:id="@+id/buttonSend"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Enviar" android:text="Enviar"
android:textAllCaps="false" android:textAllCaps="false"
android:layout_gravity="end" android:layout_marginTop="20dp"
android:layout_marginTop="12dp"
android:backgroundTint="@color/primary" android:backgroundTint="@color/primary"
android:textColor="@android:color/white" /> android:textColor="@android:color/white" />
</LinearLayout> </LinearLayout>

View File

@ -1,54 +1,103 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:background="@color/background"
android:paddingTop="100dp" android:clipToPadding="true"
android:paddingBottom="80dp" android:fillViewport="true"
android:paddingHorizontal="16dp"> android:fitsSystemWindows="true"
android:paddingStart="16dp"
android:paddingTop="64dp"
android:paddingEnd="16dp"
android:paddingBottom="32dp">
<EditText <LinearLayout
android:id="@+id/editTextSearch"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="Buscar anime..." android:gravity="center_horizontal"
android:inputType="text" android:orientation="vertical">
android:imeOptions="actionSearch" />
<EditText <!-- Bloque de búsqueda -->
android:id="@+id/editTextScore" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="Puntuación (0-100)" android:layout_marginTop="25dp"
android:inputType="number" android:background="@color/background"
android:layout_marginTop="12dp" /> android:orientation="vertical"
android:padding="20dp">
<EditText <EditText
android:id="@+id/editTextProgress" android:id="@+id/editTextSearch"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:hint="Progreso (episodios vistos)" android:background="@drawable/edit_text_background"
android:inputType="number" android:hint="Buscar anime..."
android:layout_marginTop="12dp" /> android:inputType="text"
android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
</LinearLayout>
<Spinner <!-- Bloque de datos -->
android:id="@+id/spinnerStatus" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" /> android:background="@color/background"
android:orientation="vertical"
android:padding="20dp">
<Spinner <EditText
android:id="@+id/spinnerType" android:id="@+id/editTextScore"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:layout_marginTop="12dp" /> android:background="@drawable/edit_text_background"
android:hint="Puntuación (0-100)"
android:inputType="number"
android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
<androidx.recyclerview.widget.RecyclerView <EditText
android:id="@+id/recyclerSearchResults" android:id="@+id/editTextProgress"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="48dp"
android:layout_weight="1" android:layout_marginTop="12dp"
android:paddingTop="12dp" android:background="@drawable/edit_text_background"
android:clipToPadding="false" android:hint="Progreso (episodios vistos)"
android:scrollbars="vertical" /> android:inputType="number"
</LinearLayout> android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
<Spinner
android:id="@+id/spinnerStatus"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:background="@drawable/edit_text_background"
android:paddingHorizontal="12dp" />
<Spinner
android:id="@+id/spinnerType"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:background="@drawable/edit_text_background"
android:paddingHorizontal="12dp" />
</LinearLayout>
<!-- RecyclerView debajo -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerSearchResults"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="100dp"
android:clipToPadding="false"
android:nestedScrollingEnabled="false"
android:scrollbars="vertical" />
</LinearLayout>
</ScrollView>

View File

@ -1,54 +1,103 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:background="@color/background"
android:paddingTop="100dp" android:clipToPadding="true"
android:paddingBottom="80dp" android:fillViewport="true"
android:paddingHorizontal="16dp"> android:fitsSystemWindows="true"
android:paddingStart="16dp"
android:paddingTop="64dp"
android:paddingEnd="16dp"
android:paddingBottom="32dp">
<EditText <LinearLayout
android:id="@+id/editTextSearch"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="Buscar manga..." android:gravity="center_horizontal"
android:inputType="text" android:orientation="vertical">
android:imeOptions="actionSearch" />
<EditText <!-- Bloque de búsqueda -->
android:id="@+id/editTextScore" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="Puntuación (0-100)" android:layout_marginTop="25dp"
android:inputType="number" android:background="@color/background"
android:layout_marginTop="12dp" /> android:orientation="vertical"
android:padding="20dp">
<EditText <EditText
android:id="@+id/editTextProgress" android:id="@+id/editTextSearch"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:hint="Progreso (capítulos leídos)" android:background="@drawable/edit_text_background"
android:inputType="number" android:hint="Buscar manga..."
android:layout_marginTop="12dp" /> android:inputType="text"
android:imeOptions="actionSearch"
android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
</LinearLayout>
<Spinner <!-- Bloque de datos -->
android:id="@+id/spinnerStatus" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" /> android:background="@color/background"
android:orientation="vertical"
android:padding="20dp">
<Spinner <EditText
android:id="@+id/spinnerType" android:id="@+id/editTextScore"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:layout_marginTop="12dp" /> android:background="@drawable/edit_text_background"
android:hint="Puntuación (0-100)"
android:inputType="number"
android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
<androidx.recyclerview.widget.RecyclerView <EditText
android:id="@+id/recyclerSearchResults" android:id="@+id/editTextProgress"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="48dp"
android:layout_weight="1" android:layout_marginTop="12dp"
android:paddingTop="12dp" android:background="@drawable/edit_text_background"
android:clipToPadding="false" android:hint="Progreso (capítulos leídos)"
android:scrollbars="vertical" /> android:inputType="number"
</LinearLayout> android:paddingHorizontal="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="15sp" />
<Spinner
android:id="@+id/spinnerStatus"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:background="@drawable/edit_text_background"
android:paddingHorizontal="12dp" />
<Spinner
android:id="@+id/spinnerType"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="12dp"
android:background="@drawable/edit_text_background"
android:paddingHorizontal="12dp" />
</LinearLayout>
<!-- Resultados -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerSearchResults"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:clipToPadding="false"
android:nestedScrollingEnabled="false"
android:scrollbars="vertical" />
</LinearLayout>
</ScrollView>

View File

@ -76,10 +76,11 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/edit_text_background" android:background="@drawable/edit_text_background"
android:hint="Buscar anime..." android:hint="Buscar anime..."
android:textColorHint="@android:color/white"
android:inputType="text" android:inputType="text"
android:paddingStart="12dp" android:paddingStart="12dp"
android:paddingEnd="12dp" android:paddingEnd="12dp"
android:textColor="@android:color/black" android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<ImageButton <ImageButton

View File

@ -1,72 +1,83 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/background"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="16dp"> android:background="@color/background"
android:fillViewport="true"
android:clipToPadding="false"
android:fitsSystemWindows="true">
<!-- Título y spinner -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="vertical"
android:layout_marginTop="75dp" android:padding="16dp">
android:gravity="center_vertical">
<TextView <!-- Título y spinner -->
android:text="Browse" <LinearLayout
android:textStyle="bold"
android:textSize="24sp"
android:textColor="@android:color/white"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Spinner
android:id="@+id/spinnerType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@android:color/white"
android:popupBackground="@color/primary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"/>
</LinearLayout>
<!-- Caja de búsqueda -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_search_box"
android:orientation="horizontal"
android:layout_marginTop="16dp"
android:padding="12dp">
<ImageView
android:src="@android:drawable/ic_menu_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:tint="@android:color/darker_gray" />
<EditText
android:id="@+id/editTextSearch"
android:hint="Buscar..."
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="8dp" android:layout_marginTop="16dp"
android:textColor="@android:color/white" android:gravity="center_vertical"
android:textColorHint="@android:color/white" android:orientation="horizontal">
android:background="@android:color/transparent"/>
</LinearLayout>
<!-- Resultados --> <TextView
<androidx.recyclerview.widget.RecyclerView android:layout_width="0dp"
android:id="@+id/recyclerViewResults" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_weight="1"
android:layout_height="0dp" android:text="Browse"
android:layout_marginTop="12dp" android:textColor="@android:color/white"
android:layout_weight="1" android:textSize="24sp"
android:clipToPadding="false" android:textStyle="bold" />
android:paddingBottom="16dp"/>
</LinearLayout> <Spinner
android:id="@+id/spinnerType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:backgroundTint="@android:color/white"
android:minHeight="48dp"
android:popupBackground="@color/primary"
android:spinnerMode="dropdown"
android:theme="@style/ThemeOverlay.AppCompat.Dark" />
</LinearLayout>
<!-- Caja de búsqueda -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_search_box"
android:orientation="horizontal"
android:padding="12dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_search"
app:tint="@android:color/darker_gray" />
<EditText
android:id="@+id/editTextSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="Buscar..."
android:paddingStart="8dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
</LinearLayout>
<!-- Resultados -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerViewResults"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:nestedScrollingEnabled="false"
android:clipToPadding="false"
android:scrollbars="vertical"
android:paddingBottom="16dp" />
</LinearLayout>
</ScrollView>

View File

@ -19,7 +19,9 @@
android:background="@drawable/edit_text_background" android:background="@drawable/edit_text_background"
android:hint="Título del anime" android:hint="Título del anime"
android:inputType="text" android:inputType="text"
android:padding="12dp" /> android:padding="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<EditText <EditText
android:id="@+id/editTextScore" android:id="@+id/editTextScore"
@ -27,7 +29,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:hint="Puntuación (0-100)" android:hint="Puntuación (0-100)"
android:inputType="number" /> android:inputType="number"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<EditText <EditText
android:id="@+id/editTextProgress" android:id="@+id/editTextProgress"
@ -35,21 +39,25 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:hint="Progreso (episodios vistos)" android:hint="Progreso (episodios vistos)"
android:inputType="number" /> android:inputType="number"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<Spinner <Spinner
android:id="@+id/spinnerStatus" android:id="@+id/spinnerStatus"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:padding="8dp" /> android:padding="8dp"
android:popupBackground="@color/primary" />
<Spinner <Spinner
android:id="@+id/spinnerType" android:id="@+id/spinnerType"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:padding="8dp" /> android:padding="8dp"
android:popupBackground="@color/primary" />
<Button <Button
android:id="@+id/buttonSaveAnime" android:id="@+id/buttonSaveAnime"

View File

@ -19,7 +19,9 @@
android:background="@drawable/edit_text_background" android:background="@drawable/edit_text_background"
android:hint="Título del manga" android:hint="Título del manga"
android:inputType="text" android:inputType="text"
android:padding="12dp" /> android:padding="12dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<EditText <EditText
android:id="@+id/editTextScore" android:id="@+id/editTextScore"
@ -27,7 +29,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:hint="Puntuación (0-100)" android:hint="Puntuación (0-100)"
android:inputType="number" /> android:inputType="number"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<EditText <EditText
android:id="@+id/editTextProgress" android:id="@+id/editTextProgress"
@ -35,21 +39,25 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:hint="Progreso (capítulos leídos)" android:hint="Progreso (capítulos leídos)"
android:inputType="number" /> android:inputType="number"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white" />
<Spinner <Spinner
android:id="@+id/spinnerStatus" android:id="@+id/spinnerStatus"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:padding="8dp" /> android:padding="8dp"
android:popupBackground="@color/primary" />
<Spinner <Spinner
android:id="@+id/spinnerType" android:id="@+id/spinnerType"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:padding="8dp" /> android:padding="8dp"
android:popupBackground="@color/primary" />
<Button <Button
android:id="@+id/buttonSaveManga" android:id="@+id/buttonSaveManga"

View File

@ -17,6 +17,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:text="Watching" android:text="Watching"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" android:textStyle="bold"
@ -43,18 +44,18 @@
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/textPrimary" /> android:textColor="@color/textPrimary" />
<!-- EditText para estado -->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerManga" android:id="@+id/recyclerManga"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingBottom="16dp"
android:clipToPadding="false" android:clipToPadding="false"
android:nestedScrollingEnabled="false" android:nestedScrollingEnabled="false"
android:orientation="horizontal" /> android:orientation="horizontal"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingBottom="16dp" />
<!-- EditText para estado -->
<EditText <EditText
android:id="@+id/inputStatus" android:id="@+id/inputStatus"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fillViewport="true"> android:fillViewport="true"
android:background="@color/background"
android:clipToPadding="false"
android:fitsSystemWindows="true">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -10,10 +14,10 @@
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="32dp"> android:paddingBottom="32dp">
<!-- Encabezado: Cover, Avatar y Nombre --> <!-- Encabezado -->
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="200dp"> android:layout_height="150dp">
<ImageView <ImageView
android:id="@+id/coverImage" android:id="@+id/coverImage"
@ -42,90 +46,114 @@
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_toEndOf="@id/avatarImage" android:layout_toEndOf="@id/avatarImage"
android:text="BtwIsSanti" android:text="BtwIsSanti"
android:textColor="@color/textPrimary" android:textColor="@android:color/white"
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" /> android:textStyle="bold" />
</RelativeLayout> </RelativeLayout>
<!-- Contenido con márgenes -->
<!-- Biografía -->
<EditText
android:id="@+id/editBiography"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/edittext_background"
android:hint="Escribe tu biografía aquí"
android:inputType="textMultiLine"
android:minLines="3" />
<Button
android:id="@+id/buttonSaveBio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Guardar Biografía" />
<!-- Estadísticas de Anime -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Anime Stats"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout <LinearLayout
android:id="@+id/animeStatsContainer"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="16dp" android:orientation="vertical"
android:orientation="vertical" /> android:layout_marginStart="16dp"
android:layout_marginEnd="16dp">
<!-- Estadísticas de Manga --> <!-- Biografía -->
<TextView <EditText
android:layout_width="wrap_content" android:id="@+id/editBiography"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_marginTop="16dp" android:layout_height="50dp"
android:text="Manga Stats" android:layout_marginTop="12dp"
android:textSize="18sp" android:background="@drawable/edit_text_background"
android:textStyle="bold" /> android:hint="Escribe tu biografía aquí"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:inputType="textMultiLine"
android:minLines="2"
android:maxLines="5"
android:textSize="14sp" />
<LinearLayout <Button
android:id="@+id/mangaStatsContainer" android:id="@+id/buttonSaveBio"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="16dp" android:layout_marginTop="4dp"
android:orientation="vertical" /> android:text="Guardar Biografía" />
<!-- Estado / Pensamiento --> <!-- Anime Stats -->
<EditText <TextView
android:id="@+id/editStatus" android:layout_width="wrap_content"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_marginTop="16dp"
android:layout_marginTop="12dp" android:text="Anime Stats"
android:background="@drawable/edittext_background" android:textSize="18sp"
android:hint="¿Qué estás pensando?" android:textStyle="bold"
android:inputType="text" /> android:textColor="@android:color/white" />
<Button <LinearLayout
android:id="@+id/buttonPostStatus" android:id="@+id/animeStatsContainer"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Publicar Estado" /> android:layout_marginBottom="16dp"
android:orientation="vertical" />
<!-- Actividad reciente --> <!-- Manga Stats -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:text="Actividad Reciente" android:text="Manga Stats"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textColor="@android:color/white" />
<LinearLayout
android:id="@+id/mangaStatsContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:orientation="vertical" />
<!-- Estado -->
<EditText
android:id="@+id/editStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/edit_text_background"
android:hint="¿Qué estás pensando?"
android:inputType="text"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="14sp" />
<Button
android:id="@+id/buttonPostStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Publicar Estado" />
<!-- Actividad Reciente -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Actividad Reciente"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="@android:color/white" />
</LinearLayout>
<!-- ¡ESTO es lo nuevo! El contenedor alineado con el título -->
<LinearLayout <LinearLayout
android:id="@+id/activityContainer" android:id="@+id/activityContainer"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" /> android:orientation="vertical"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp" />
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
app:cardCornerRadius="16dp"
app:cardElevation="6dp"
android:backgroundTint="@color/background">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:gravity="center_vertical"
android:background="@color/primary">
<ImageView
android:id="@+id/activityThumbnail"
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="centerCrop"
android:src="@drawable/sample_cover"
android:layout_marginEnd="12dp"
android:background="@drawable/circle_mask"
android:clipToOutline="true" />
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/activityText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Watched episode 5 of XYZ"
android:textColor="@color/textPrimary"
android:textSize="15sp"
android:maxLines="2"
android:ellipsize="end" />
<TextView
android:id="@+id/activityTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="16 hours ago"
android:textColor="@color/textPrimary"
android:textSize="13sp"
android:layout_marginTop="4dp" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@ -40,6 +40,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textStyle="bold" android:textStyle="bold"
android:text="Usuario" android:text="Usuario"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
@ -47,6 +48,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="completó" android:text="completó"
android:textColor="@android:color/white"
android:textSize="13sp" /> android:textSize="13sp" />
<TextView <TextView
@ -54,6 +56,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Nombre del anime o manga" android:text="Nombre del anime o manga"
android:textColor="@android:color/white"
android:textSize="13sp" android:textSize="13sp"
android:maxLines="2" android:maxLines="2"
android:ellipsize="end" /> android:ellipsize="end" />
@ -64,7 +67,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="hace 3 horas" android:text="hace 3 horas"
android:textSize="12sp" android:textSize="12sp"
android:textColor="@color/gray" android:textColor="@color/status_blue"
android:layout_marginTop="4dp" /> android:layout_marginTop="4dp" />
</LinearLayout> </LinearLayout>

View File

@ -25,6 +25,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Título" android:text="Título"
android:textColor="@android:color/white"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -33,21 +34,23 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Estado" android:text="Estado"
android:textColor="@android:color/darker_gray" android:textColor="@color/status_blue"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/textScore" android:id="@+id/textScore"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Score: 80" android:text="Score: 0"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/textProgress" android:id="@+id/textProgress"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Progreso: 10 eps" android:text="Progreso: 0 eps"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
@ -56,6 +59,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Tipo: TV" android:text="Tipo: TV"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@ -11,6 +11,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Título Compacto" android:text="Título Compacto"
android:textColor="@android:color/white"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -19,7 +20,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Estado" android:text="Estado"
android:textColor="@android:color/darker_gray" android:textColor="@color/status_blue"
android:textSize="12sp" /> android:textSize="12sp" />

View File

@ -12,19 +12,6 @@
android:contentDescription="Portada" android:contentDescription="Portada"
android:scaleType="centerCrop" /> android:scaleType="centerCrop" />
<!-- Progreso en esquina inferior izquierda -->
<TextView
android:id="@+id/textProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_margin="6dp"
android:background="@android:color/transparent"
android:text="6/12"
android:textColor="#FF4444"
android:textSize="14sp"
android:textStyle="bold" />
<!-- Título con fondo oscuro --> <!-- Título con fondo oscuro -->
<TextView <TextView
android:id="@+id/textTitle" android:id="@+id/textTitle"

View File

@ -25,6 +25,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Título" android:text="Título"
android:textColor="@android:color/white"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -33,21 +34,23 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Estado" android:text="Estado"
android:textColor="@android:color/darker_gray" android:textColor="@color/status_blue"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/textScore" android:id="@+id/textScore"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Score: 90" android:text="Score: 0"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
android:id="@+id/textProgress" android:id="@+id/textProgress"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Capítulos: 12" android:text="Capítulos: 0"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
@ -55,6 +58,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Tipo: Manga" android:text="Tipo: Manga"
android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@ -11,6 +11,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Título Compacto" android:text="Título Compacto"
android:textColor="@android:color/white"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -19,6 +20,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Estado" android:text="Estado"
android:textColor="@android:color/darker_gray" android:textColor="@color/status_blue"
android:textSize="12sp" /> android:textSize="12sp" />
</LinearLayout> </LinearLayout>

View File

@ -12,19 +12,6 @@
android:contentDescription="Portada" android:contentDescription="Portada"
android:scaleType="centerCrop" /> android:scaleType="centerCrop" />
<!-- Progreso en esquina inferior izquierda -->
<TextView
android:id="@+id/textProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_margin="6dp"
android:background="@android:color/transparent"
android:text="6/12"
android:textColor="#FF4444"
android:textSize="14sp"
android:textStyle="bold" />
<!-- Título con fondo oscuro --> <!-- Título con fondo oscuro -->
<TextView <TextView
android:id="@+id/textTitle" android:id="@+id/textTitle"
@ -39,7 +26,7 @@
android:textColor="@android:color/white" android:textColor="@android:color/white"
android:textSize="14sp" /> android:textSize="14sp" />
<!-- Indicador de estado (ej: Watching) --> <!-- Indicador de estado (ej: Reading) -->
<View <View
android:id="@+id/statusDot" android:id="@+id/statusDot"
android:layout_width="10dp" android:layout_width="10dp"

View File

@ -6,6 +6,7 @@
<color name="gray">#808080</color> <color name="gray">#808080</color>
<color name="activeTint">#F26D50</color> <color name="activeTint">#F26D50</color>
<color name="pink">#FF4081</color> <color name="pink">#FF4081</color>
<color name="status_blue">#3DB4F2</color>
<!-- Colores por estado anime --> <!-- Colores por estado anime -->
<color name="status_completed">#4CAF50</color> <!-- verde --> <color name="status_completed">#4CAF50</color> <!-- verde -->