adicao de modo escuro e modo claro , melhores marcadores só aparecem os 10 jogadores com mais golos

This commit is contained in:
2026-05-12 16:57:07 +01:00
parent 5bd18b1a00
commit 5a237c08a6
55 changed files with 2367 additions and 1615 deletions

View File

@@ -21,6 +21,11 @@ import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener; import com.google.firebase.database.ValueEventListener;
import com.example.vdcscore.ui.home.Team; import com.example.vdcscore.ui.home.Team;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.widget.ImageView;
import android.widget.TextView;
public class ClubDetailFragment extends Fragment { public class ClubDetailFragment extends Fragment {
@@ -147,6 +152,43 @@ public class ClubDetailFragment extends Fragment {
bundle.putString("escalao", escalao); bundle.putString("escalao", escalao);
Navigation.findNavController(v).navigate(R.id.action_nav_club_detail_to_nav_club_players, bundle); Navigation.findNavController(v).navigate(R.id.action_nav_club_detail_to_nav_club_players, bundle);
}); });
// Tenta carregar estatísticas em segundo plano baseando-se no nome do clube
searchAndLinkTeamStats(club.getName());
}
private void searchAndLinkTeamStats(String clubName) {
if (clubName == null) return;
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("classificacoes");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (binding == null) return;
// Iterar sobre todos os escalões disponíveis
for (DataSnapshot escalaoSnapshot : snapshot.getChildren()) {
// Iterar sobre as equipas dentro de cada escalão
for (DataSnapshot teamSnapshot : escalaoSnapshot.getChildren()) {
Team candidate = teamSnapshot.getValue(Team.class);
if (candidate != null && candidate.getNome() != null
&& candidate.getNome().equalsIgnoreCase(clubName)) {
// Sucesso! Encontrámos as estatísticas.
// Guardar escalao caso não estivesse definido
if (escalao == null) {
escalao = escalaoSnapshot.getKey();
}
populateStats(candidate);
setupComparison(candidate);
return; // Parar de procurar
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {}
});
} }
private void setupComparison(Team team1) { private void setupComparison(Team team1) {
@@ -173,34 +215,114 @@ public class ClubDetailFragment extends Fragment {
} }
private void showComparisonDialog(Team team1, java.util.List<Team> otherTeams) { private void showComparisonDialog(Team team1, java.util.List<Team> otherTeams) {
String[] teamNames = new String[otherTeams.size()]; if (getContext() == null) return;
for (int i = 0; i < otherTeams.size(); i++) {
teamNames[i] = otherTeams.get(i).getNome();
}
new androidx.appcompat.app.AlertDialog.Builder(requireContext()) BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(requireContext());
.setTitle("Selecionar Equipa para Comparar") View dialogView = getLayoutInflater().inflate(R.layout.dialog_team_selector, null);
.setItems(teamNames, (dialog, which) -> { bottomSheetDialog.setContentView(dialogView);
Team team2 = otherTeams.get(which);
displayComparison(team1, team2); RecyclerView recyclerView = dialogView.findViewById(R.id.recycler_comparison_teams);
}) recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
.show();
// Configurar um adapter simples e direto
recyclerView.setAdapter(new RecyclerView.Adapter<CompareViewHolder>() {
@NonNull
@Override
public CompareViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_comparison_selector, parent, false);
return new CompareViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull CompareViewHolder holder, int position) {
Team currentTeam = otherTeams.get(position);
holder.nameText.setText(currentTeam.getNome());
holder.posText.setText(currentTeam.getPosicao() > 0 ? currentTeam.getPosicao() + "º" : "-");
Glide.with(holder.itemView.getContext())
.load(currentTeam.getImagem())
.placeholder(R.mipmap.ic_launcher_round)
.into(holder.logoImage);
holder.itemView.setOnClickListener(v -> {
bottomSheetDialog.dismiss();
displayComparison(team1, currentTeam);
});
}
@Override
public int getItemCount() {
return otherTeams.size();
}
});
bottomSheetDialog.show();
}
// ViewHolder auxiliar para o recycler local
private static class CompareViewHolder extends RecyclerView.ViewHolder {
ImageView logoImage;
TextView nameText, posText;
public CompareViewHolder(@NonNull View itemView) {
super(itemView);
logoImage = itemView.findViewById(R.id.img_team_logo);
nameText = itemView.findViewById(R.id.text_team_name);
posText = itemView.findViewById(R.id.text_team_position);
}
} }
private void displayComparison(Team t1, Team t2) { private void displayComparison(Team t1, Team t2) {
binding.layoutComparison.setVisibility(View.VISIBLE); // IMPORTANTE: Ativar a CARD (contentor) e não apenas o layout interno!
binding.cardComparison.setVisibility(View.VISIBLE);
// Set Names
binding.textCompareTeam1.setText(t1.getNome()); binding.textCompareTeam1.setText(t1.getNome());
binding.textCompareTeam2.setText(t2.getNome()); binding.textCompareTeam2.setText(t2.getNome());
// Load comparison logos dynamically
if (getContext() != null) {
Glide.with(this).load(t1.getImagem()).placeholder(R.mipmap.ic_launcher_round).into(binding.imgCompareTeam1);
Glide.with(this).load(t2.getImagem()).placeholder(R.mipmap.ic_launcher_round).into(binding.imgCompareTeam2);
}
// Bind values
binding.textCompareP1.setText(String.valueOf(t1.getPontos())); binding.textCompareP1.setText(String.valueOf(t1.getPontos()));
binding.textCompareP2.setText(String.valueOf(t2.getPontos())); binding.textCompareP2.setText(String.valueOf(t2.getPontos()));
binding.textCompareG1.setText(String.valueOf(t1.getGolos_marcados())); binding.textCompareG1.setText(String.valueOf(t1.getGolos_marcados()));
binding.textCompareG2.setText(String.valueOf(t2.getGolos_marcados())); binding.textCompareG2.setText(String.valueOf(t2.getGolos_marcados()));
// Highlight advantage // Supporting extra items to make it richer
binding.textCompareP1.setTextColor(t1.getPontos() >= t2.getPontos() ? android.graphics.Color.GREEN : android.graphics.Color.RED); binding.textCompareJ1.setText(String.valueOf(t1.getJogos()));
binding.textCompareP2.setTextColor(t2.getPontos() >= t1.getPontos() ? android.graphics.Color.GREEN : android.graphics.Color.RED); binding.textCompareJ2.setText(String.valueOf(t2.getJogos()));
binding.textCompareV1.setText(String.valueOf(t1.getVitorias()));
binding.textCompareV2.setText(String.valueOf(t2.getVitorias()));
// Resourcing dynamic colors
int successColor = getResources().getColor(R.color.brand);
int defaultColor = getResources().getColor(R.color.text_3);
// Applying visual highlights conditionally based on performance metrics
// 1. Compare Pontos
binding.textCompareP1.setTextColor(t1.getPontos() > t2.getPontos() ? successColor : defaultColor);
binding.textCompareP1.setTypeface(null, t1.getPontos() > t2.getPontos() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareP2.setTextColor(t2.getPontos() > t1.getPontos() ? successColor : defaultColor);
binding.textCompareP2.setTypeface(null, t2.getPontos() > t1.getPontos() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
// 2. Compare Vitorias
binding.textCompareV1.setTextColor(t1.getVitorias() > t2.getVitorias() ? successColor : defaultColor);
binding.textCompareV1.setTypeface(null, t1.getVitorias() > t2.getVitorias() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareV2.setTextColor(t2.getVitorias() > t1.getVitorias() ? successColor : defaultColor);
binding.textCompareV2.setTypeface(null, t2.getVitorias() > t1.getVitorias() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
// 3. Compare Golos
binding.textCompareG1.setTextColor(t1.getGolos_marcados() > t2.getGolos_marcados() ? successColor : defaultColor);
binding.textCompareG1.setTypeface(null, t1.getGolos_marcados() > t2.getGolos_marcados() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
binding.textCompareG2.setTextColor(t2.getGolos_marcados() > t1.getGolos_marcados() ? successColor : defaultColor);
binding.textCompareG2.setTypeface(null, t2.getGolos_marcados() > t1.getGolos_marcados() ? android.graphics.Typeface.BOLD : android.graphics.Typeface.NORMAL);
} }
@Override @Override

View File

@@ -13,6 +13,12 @@ import com.bumptech.glide.Glide;
import com.example.vdcscore.R; import com.example.vdcscore.R;
import com.example.vdcscore.databinding.FragmentPlayerDetailBinding; import com.example.vdcscore.databinding.FragmentPlayerDetailBinding;
import com.example.vdcscore.models.Player; import com.example.vdcscore.models.Player;
import com.example.vdcscore.models.TopScorer;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class PlayerDetailFragment extends Fragment { public class PlayerDetailFragment extends Fragment {
@@ -50,10 +56,52 @@ public class PlayerDetailFragment extends Fragment {
.circleCrop() .circleCrop()
.into(binding.imageDetailPlayerPhoto); .into(binding.imageDetailPlayerPhoto);
} }
// Carregar golos da base de dados
fetchPlayerGoals(jogadorRecebido.getNome());
} }
} }
} }
private void fetchPlayerGoals(String playerName) {
if (playerName == null || playerName.isEmpty()) {
binding.textDetailTotalGoals.setText("0");
return;
}
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("marcadores");
mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (binding == null) return;
int totalGoals = 0;
// Iterar sobre as subcategorias (seniores, juniores, etc)
for (DataSnapshot categorySnapshot : snapshot.getChildren()) {
// Iterar sobre cada marcador individualmente
for (DataSnapshot data : categorySnapshot.getChildren()) {
TopScorer scorer = data.getValue(TopScorer.class);
if (scorer != null && scorer.getPlayerName() != null
&& scorer.getPlayerName().equalsIgnoreCase(playerName)) {
totalGoals += scorer.getGoals();
}
}
}
binding.textDetailTotalGoals.setText(String.valueOf(totalGoals));
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
if (binding != null) {
binding.textDetailTotalGoals.setText("Erro");
}
}
});
}
@Override @Override
public void onDestroyView() { public void onDestroyView() {
super.onDestroyView(); super.onDestroyView();

View File

@@ -37,7 +37,25 @@ public class TopScorersAdapter extends RecyclerView.Adapter<TopScorersAdapter.Vi
public void onBindViewHolder(@NonNull ViewHolder holder, int position) { public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
TopScorer scorer = scorers.get(position); TopScorer scorer = scorers.get(position);
holder.textPosition.setText(scorer.getPosition() + "º"); // Styling specifically for the Podium (Top 3)
if (position == 0) {
holder.textPosition.setBackgroundResource(R.drawable.rank_1_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else if (position == 1) {
holder.textPosition.setBackgroundResource(R.drawable.rank_2_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else if (position == 2) {
holder.textPosition.setBackgroundResource(R.drawable.rank_3_badge);
holder.textPosition.setTextColor(android.graphics.Color.WHITE);
} else {
// Standard fallback
holder.textPosition.setBackgroundResource(R.drawable.bg_circle_light_gray);
// Reset back to standard themed color
holder.textPosition.setTextColor(holder.itemView.getContext().getResources().getColor(R.color.text_1));
}
holder.textPosition.setText(String.valueOf(position + 1)); // Display logical incrementing rank
holder.textPlayerName.setText(isValid(scorer.getPlayerName()) ? scorer.getPlayerName() : "Jogador"); holder.textPlayerName.setText(isValid(scorer.getPlayerName()) ? scorer.getPlayerName() : "Jogador");
holder.textClubName.setText(isValid(scorer.getClubName()) ? scorer.getClubName() : "Clube"); holder.textClubName.setText(isValid(scorer.getClubName()) ? scorer.getClubName() : "Clube");
holder.textGoals.setText(String.valueOf(scorer.getGoals())); holder.textGoals.setText(String.valueOf(scorer.getGoals()));

View File

@@ -105,7 +105,10 @@ public class TopScorersFragment extends Fragment {
} else { } else {
textEmptyState.setVisibility(View.GONE); textEmptyState.setVisibility(View.GONE);
recyclerTopScorers.setVisibility(View.VISIBLE); recyclerTopScorers.setVisibility(View.VISIBLE);
adapter.setTopScorers(scorersList);
// Limitar aos top 10 marcadores
List<TopScorer> top10List = scorersList.subList(0, Math.min(10, scorersList.size()));
adapter.setTopScorers(top10List);
} }
} }

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" /> <solid android:color="@color/bg_base" />
<corners <corners
android:topLeftRadius="30dp" android:topLeftRadius="20dp"
android:topRightRadius="30dp" /> android:topRightRadius="20dp" />
</shape> </shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> android:shape="oval">
<solid android:color="#28a745"/> <solid android:color="@color/brand"/>
</shape> </shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> android:shape="oval">
<solid android:color="#F0F2F5"/> <solid android:color="@color/bg_elevated"/>
</shape> </shape>

View File

@@ -2,9 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient <gradient
android:angle="135" android:angle="135"
android:startColor="#667eea" android:startColor="@color/bg_base"
android:centerColor="#764ba2" android:centerColor="@color/bg_surface"
android:endColor="#f093fb" android:endColor="@color/bg_elevated"
android:type="linear" /> android:type="linear" />
</shape> </shape>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="#F5F5F5" /> <solid android:color="@color/bg_surface" />
<corners android:radius="12dp" /> <corners android:radius="8dp" />
<stroke <stroke
android:width="0dp" android:width="1dp"
android:color="#E0E0E0" /> android:color="@color/border" />
</shape> </shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F8F9FA" /> <solid android:color="@color/bg_elevated" />
<corners android:radius="14dp" /> <corners android:radius="14dp" />
<stroke android:width="1dp" android:color="#F1F3F5" /> <stroke android:width="1dp" android:color="@color/border" />
</shape> </shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/surface_card" /> <solid android:color="@color/bg_surface" />
<corners android:radius="16dp" /> <corners android:radius="12dp" />
<stroke android:width="1dp" android:color="@color/divider" /> <stroke android:width="1dp" android:color="@color/border" />
</shape> </shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="#0a1835"/> <solid android:color="@color/bg_elevated"/>
<corners <corners
android:topLeftRadius="12dp" android:topLeftRadius="12dp"
android:topRightRadius="12dp"/> android:topRightRadius="12dp"/>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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">
<gradient <solid android:color="@color/brand" />
android:angle="135" <corners android:radius="8dp" />
android:startColor="#667eea"
android:endColor="#764ba2"
android:type="linear" />
<corners android:radius="12dp" />
</shape> </shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> android:shape="oval">
<solid android:color="#FFFFFF" /> <solid android:color="@color/bg_elevated" />
</shape> </shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"> android:shape="oval">
<solid android:color="#616161" /> <solid android:color="@color/bg_elevated" />
<size <size
android:width="36dp" android:width="36dp"
android:height="36dp" /> android:height="36dp" />

View File

@@ -3,14 +3,14 @@
<item android:id="@android:id/background"> <item android:id="@android:id/background">
<shape> <shape>
<corners android:radius="6dp" /> <corners android:radius="6dp" />
<solid android:color="#E0E0E0" /> <solid android:color="@color/bg_elevated" />
</shape> </shape>
</item> </item>
<item android:id="@android:id/progress"> <item android:id="@android:id/progress">
<clip> <clip>
<shape> <shape>
<corners android:radius="6dp" /> <corners android:radius="6dp" />
<solid android:color="@color/secondary_color" /> <solid android:color="@color/brand" />
</shape> </shape>
</clip> </clip>
</item> </item>

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="#FFFFFF" /> <solid android:color="@color/bg_surface" />
<corners android:radius="12dp" /> <corners android:radius="8dp" />
<stroke <stroke
android:width="2dp" android:width="1dp"
android:color="#667eea" /> android:color="@color/brand" />
<padding <padding
android:left="16dp" android:left="16dp"
android:top="16dp" android:top="16dp"
android:right="16dp" android:right="16dp"
android:bottom="16dp" /> android:bottom="16dp" />
</shape> </shape>

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="#FFFFFF" /> <solid android:color="@color/bg_surface" />
<corners android:radius="12dp" /> <corners android:radius="8dp" />
<stroke <stroke
android:width="1dp" android:width="1dp"
android:color="#E0E0E0" /> android:color="@color/border" />
<padding <padding
android:left="16dp" android:left="16dp"
android:top="16dp" android:top="16dp"
android:right="16dp" android:right="16dp"
android:bottom="16dp" /> android:bottom="16dp" />
</shape> </shape>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/primary_color"/> <solid android:color="@color/bg_surface"/>
<corners android:radius="8dp"/> <corners android:radius="8dp"/>
<stroke android:width="1dp" android:color="@color/border" />
</shape> </shape>

View File

@@ -4,8 +4,7 @@
android:height="300dp" android:height="300dp"
android:viewportWidth="412" android:viewportWidth="412"
android:viewportHeight="300"> android:viewportHeight="300">
<path <path
android:fillColor="#121212" android:fillColor="#111827"
android:pathData="M0,0 L412,0 L412,220 C412,220 300,300 0,220 L0,0 Z" /> android:pathData="M0,0 L412,0 L412,220 C412,220 300,300 0,220 L0,0 Z" />
</vector> </vector>

View File

@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="412dp" android:width="412dp"
android:height="200dp" android:height="300dp"
android:viewportWidth="412" android:viewportWidth="412"
android:viewportHeight="200"> android:viewportHeight="300">
<path <path
android:fillColor="#121212" android:fillColor="#111827"
android:pathData="M0,0 L412,0 L412,150 C300,200 100,200 0,150 L0,0 Z" /> android:pathData="M0,0 L412,0 L412,220 C412,220 300,300 0,220 L0,0 Z" />
</vector> </vector>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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/primary_light" /> <solid android:color="@color/bg_elevated" />
<corners android:radius="8dp" /> <corners android:radius="8dp" />
<stroke android:width="1dp" android:color="@color/border" />
</shape> </shape>

View File

@@ -1,9 +1,4 @@
<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">
<gradient <solid android:color="@color/bg_surface" />
android:angle="135"
android:centerColor="#009688"
android:endColor="#00695C"
android:startColor="#4DB6AC"
android:type="linear" />
</shape> </shape>

View File

@@ -6,25 +6,30 @@
android:id="@+id/main" android:id="@+id/main"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/background_light" android:background="@color/bg_base"
tools:context=".ui.definicoes.ContaActivity"> tools:context=".ui.definicoes.ContaActivity">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout" android:id="@+id/appBarLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:background="@color/bg_surface"
app:elevation="0dp"> app:elevation="0dp">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="@color/primary_color" android:background="@color/bg_surface"
app:title="Definições de Conta" app:title="Definições de Conta"
app:titleTextColor="@color/white" app:titleTextColor="@color/text_1"
app:navigationIcon="@drawable/ic_arrow_back" app:navigationIcon="@drawable/ic_arrow_back"
app:navigationIconTint="@color/white" /> app:navigationIconTint="@color/text_1" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
@@ -38,34 +43,36 @@
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="24dp"> android:padding="16dp">
<!-- Profile Photo Section --> <!-- Profile Photo Section -->
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardProfilePhoto" android:id="@+id/cardProfilePhoto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="20dp" android:layout_marginBottom="14dp"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/surface_card" app:strokeWidth="1dp"
app:strokeWidth="0dp"> app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="24dp" android:padding="20dp"
android:gravity="center"> android:gravity="center">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Foto de Perfil" android:text="Foto de Perfil"
android:textSize="18sp" android:textSize="15sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/primary_color" android:textColor="@color/text_1"
android:layout_marginBottom="24dp" /> android:layout_marginBottom="16dp" />
<!-- Profile Image --> <!-- Profile Image -->
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
@@ -74,14 +81,18 @@
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardImageContainer" android:id="@+id/cardImageContainer"
android:layout_width="120dp" android:layout_width="100dp"
android:layout_height="120dp" android:layout_height="100dp"
app:cardCornerRadius="60dp" app:cardCornerRadius="50dp"
app:cardElevation="6dp" app:cardElevation="0dp"
app:cardBackgroundColor="#FFFFFF" app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:foreground="?attr/selectableItemBackgroundBorderless"> android:foreground="?attr/selectableItemBackgroundBorderless"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView <ImageView
android:id="@+id/imageProfile" android:id="@+id/imageProfile"
@@ -90,7 +101,7 @@
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:contentDescription="Foto de perfil" android:contentDescription="Foto de perfil"
android:src="@android:drawable/ic_menu_camera" android:src="@android:drawable/ic_menu_camera"
android:background="#E0E0E0" /> app:tint="@color/text_3" />
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
@@ -99,8 +110,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:fabSize="mini" app:fabSize="mini"
app:backgroundTint="@color/secondary_color" app:backgroundTint="@color/brand"
app:tint="@color/white" app:tint="@color/bg_base"
android:src="@android:drawable/ic_menu_edit" android:src="@android:drawable/ic_menu_edit"
app:layout_constraintBottom_toBottomOf="@+id/cardImageContainer" app:layout_constraintBottom_toBottomOf="@+id/cardImageContainer"
app:layout_constraintEnd_toEndOf="@+id/cardImageContainer"/> app:layout_constraintEnd_toEndOf="@+id/cardImageContainer"/>
@@ -111,15 +122,15 @@
android:id="@+id/btnChangePhoto" android:id="@+id/btnChangePhoto"
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="12dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Toque para alterar" android:text="Toque para alterar"
android:textColor="@color/text_secondary" android:textColor="@color/brand"
android:textSize="14sp" android:textSize="13sp"
android:textStyle="bold" android:textStyle="bold"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:padding="8dp" android:padding="6dp" />
android:background="?attr/selectableItemBackgroundBorderless" />
</LinearLayout> </LinearLayout>
@@ -130,66 +141,56 @@
android:id="@+id/cardName" android:id="@+id/cardName"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="20dp" android:layout_marginBottom="14dp"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/surface_card" app:strokeWidth="1dp"
app:strokeWidth="0dp"> app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="24dp"> android:padding="20dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Nome de Utilizador" android:text="Nome de Utilizador"
android:textSize="18sp" android:textSize="15sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/primary_color" android:textColor="@color/text_1"
android:layout_marginBottom="16dp" /> android:layout_marginBottom="14dp" />
<!-- Name Input --> <!-- Name Input -->
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editName"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:hint="Nome completo" android:background="@drawable/bg_input_field"
app:boxCornerRadiusTopStart="12dp" android:inputType="textPersonName"
app:boxCornerRadiusTopEnd="12dp" android:textColor="@color/text_1"
app:boxCornerRadiusBottomStart="12dp" android:textColorHint="@color/text_3"
app:boxCornerRadiusBottomEnd="12dp" android:fontFamily="@font/font_ibm_plex_sans"
app:boxStrokeWidth="1dp" android:textSize="13sp"
app:boxStrokeColor="@color/divider" android:paddingHorizontal="16dp"
app:startIconDrawable="@android:drawable/ic_menu_myplaces" android:hint="Nome de utilizador" />
app:startIconTint="@color/text_secondary"
app:boxBackgroundMode="outline"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.button.MaterialButton
android:id="@+id/editName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:textColor="@color/text_primary"
android:textColorHint="@color/text_secondary"
android:textSize="16sp"
android:padding="16dp"
android:background="@android:color/transparent" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/btnSaveAll" android:id="@+id/btnSaveAll"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:backgroundTint="@color/primary_color" app:backgroundTint="@color/brand"
android:text="Guardar Alterações" android:text="Guardar Alterações"
android:textColor="@color/white" android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="16sp" android:textColor="@color/bg_base"
android:textStyle="bold" /> android:textSize="14sp"
android:textStyle="bold"
android:textAllCaps="false"
app:cornerRadius="8dp" />
</LinearLayout> </LinearLayout>
@@ -200,64 +201,83 @@
android:id="@+id/cardSecurity" android:id="@+id/cardSecurity"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="24dp" android:layout_marginBottom="14dp"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/surface_card" app:strokeWidth="1dp"
app:strokeWidth="0dp"> app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="24dp"> android:padding="20dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Segurança" android:text="Segurança"
android:textSize="18sp" android:textSize="15sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/primary_color" android:textColor="@color/text_1"
android:layout_marginBottom="16dp" /> android:layout_marginBottom="14dp" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email" android:text="Email"
android:textSize="14sp" android:textSize="12sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text_secondary" android:textColor="@color/text_2"
android:layout_marginBottom="8dp" /> android:layout_marginBottom="6dp" />
<TextView <TextView
android:id="@+id/textEmail" android:id="@+id/textEmail"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="email@exemplo.com" android:text="email@exemplo.com"
android:textSize="16sp" android:textSize="13sp"
android:textColor="@color/text_primary" android:textColor="@color/text_1"
android:padding="12dp" android:padding="12dp"
android:background="@drawable/shape_score_bg" android:background="@drawable/bg_input_field"
android:backgroundTint="@color/background_light" android:layout_marginBottom="14dp" />
android:layout_marginBottom="12dp" />
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnChangeEmail" android:id="@+id/btnChangeEmail"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="42dp"
android:backgroundTint="@color/text_secondary" android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Alterar Email" android:text="Alterar Email"
android:textColor="@color/white" /> android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
app:cornerRadius="6dp"
android:insetTop="0dp"
android:insetBottom="0dp" />
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnChangePassword" android:id="@+id/btnChangePassword"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="42dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:backgroundTint="@color/text_secondary" android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Alterar Password" android:text="Alterar Password"
android:textColor="@color/white" /> android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
app:cornerRadius="6dp"
android:insetTop="0dp"
android:insetBottom="0dp" />
</LinearLayout> </LinearLayout>
@@ -268,27 +288,30 @@
android:id="@+id/cardLogout" android:id="@+id/cardLogout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" app:cardCornerRadius="12dp"
app:cardCornerRadius="16dp" app:cardElevation="0dp"
app:cardElevation="2dp" app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card" app:strokeColor="@color/border"
app:strokeWidth="0dp"> app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="24dp"> android:padding="16dp">
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnLogout" android:id="@+id/btnLogout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="48dp"
android:backgroundTint="@color/live_time" app:backgroundTint="@color/danger"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Terminar Sessão" android:text="Terminar Sessão"
android:textColor="@color/white" android:textColor="@color/text_1"
android:textSize="16sp" android:textSize="14sp"
android:textStyle="bold" /> android:textStyle="bold"
android:textAllCaps="false"
app:cornerRadius="8dp" />
</LinearLayout> </LinearLayout>

View File

@@ -6,160 +6,167 @@
android:id="@+id/main" android:id="@+id/main"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#FFFFFF"> android:background="@color/bg_base">
<!-- Header Background --> <!-- Header Background -->
<ImageView <View
android:id="@+id/headerBg" android:id="@+id/headerBg"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="250dp" android:layout_height="160dp"
android:scaleType="fitXY" android:background="@color/bg_surface"
android:src="@drawable/ic_header_signup_bg"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
<!-- Header Title (as per design image, showing "Sign Up" in header) or Body? <!-- Header Title -->
The image shows "Sign Up" text in the header area. -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Sign Up" android:fontFamily="@font/font_bebas_neue"
android:textColor="#FFFFFF" android:text="CRIAR CONTA"
android:textSize="32sp" android:textColor="@color/text_1"
android:textStyle="bold" android:textSize="28sp"
android:layout_marginTop="60dp" android:letterSpacing="0.04"
android:layout_marginTop="55dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" /> app:layout_constraintEnd_toEndOf="parent" />
<!-- Back Button (Optional, not in Java but good for UX) -->
<!-- Sign Up Form Container --> <!-- Sign Up Form Container -->
<ScrollView <ScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:fillViewport="true" android:fillViewport="true"
android:layout_marginTop="160dp" android:layout_marginTop="-20dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toBottomOf="@+id/headerBg"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout <LinearLayout
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:paddingHorizontal="32dp" android:paddingHorizontal="24dp"
android:paddingTop="20dp" android:paddingTop="20dp"
android:paddingBottom="20dp" android:paddingBottom="20dp">
android:background="@drawable/bg_bottom_sheet_curve"> <!-- Implicit white background from activity, but layout structure follows scrolling -->
<!-- User Name Label --> <!-- User Name Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Nome de Utilizador" android:text="Nome de Utilizador"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editUserName" android:id="@+id/editUserName"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textPersonName" android:inputType="textPersonName"
android:hint="Tony" android:hint="Tony"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="24dp" /> android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Email Label --> <!-- Email Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email" android:text="Email"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail" android:id="@+id/editEmail"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
android:hint="email@exemplo.com" android:hint="email@exemplo.com"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="24dp" /> android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Password Label --> <!-- Password Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Password" android:text="Password"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword2" android:id="@+id/editPassword2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textPassword" android:inputType="textPassword"
android:hint="********" android:hint="********"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="24dp" /> android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Confirm Password Label --> <!-- Confirm Password Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Confirmar Password" android:text="Confirmar Password"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editConfirmPassword" android:id="@+id/editConfirmPassword"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textPassword" android:inputType="textPassword"
android:hint="********" android:hint="********"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="32dp" /> android:textSize="13sp"
android:layout_marginBottom="28dp" />
<!-- Sign Up Button --> <!-- Sign Up Button -->
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnCreateAccount" android:id="@+id/btnCreateAccount"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="48dp"
android:text="Sign Up" android:text="Registar"
android:textAllCaps="false" android:textAllCaps="false"
android:textSize="16sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="#FFFFFF" android:fontFamily="@font/font_ibm_plex_sans"
android:backgroundTint="#000000" android:textColor="@color/bg_base"
app:cornerRadius="12dp" app:backgroundTint="@color/brand"
android:layout_marginBottom="24dp" /> app:cornerRadius="8dp"
android:layout_marginBottom="20dp" />
<!-- Login Link --> <!-- Login Link -->
<LinearLayout <LinearLayout
@@ -171,16 +178,20 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Já tem uma conta? " android:text="Já tem uma conta? "
android:textColor="#757575" /> android:textColor="@color/text_2"
android:textSize="13sp" />
<TextView <TextView
android:id="@+id/txtGoLogin" android:id="@+id/txtGoLogin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Sign In" android:text="Sign In"
android:textColor="#000000" android:textColor="@color/brand"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:clickable="true" android:clickable="true"
android:focusable="true"/> android:focusable="true"/>
</LinearLayout> </LinearLayout>

View File

@@ -5,27 +5,25 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#FFFFFF"> android:background="@color/bg_base">
<!-- Header Background --> <!-- Header background (Optional dark gradient layer instead of light bg) -->
<ImageView <View
android:id="@+id/headerBg" android:id="@+id/headerBg"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="300dp" android:layout_height="220dp"
android:scaleType="fitXY" android:background="@color/bg_surface"
android:src="@drawable/ic_header_login_bg"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
<!-- Logo --> <!-- Logo (Using our brand icon layer) -->
<ImageView <View
android:id="@+id/logoImage" android:id="@+id/logoImage"
android:layout_width="77dp" android:layout_width="64dp"
android:layout_height="80dp" android:layout_height="64dp"
android:layout_marginTop="60dp" android:layout_marginTop="50dp"
android:elevation="4dp" android:background="@drawable/brand_icon_bg"
android:src="@mipmap/ic_launcher"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -35,7 +33,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:fillViewport="true" android:fillViewport="true"
android:layout_marginTop="-40dp" android:layout_marginTop="-20dp"
app:layout_constraintTop_toBottomOf="@+id/headerBg" app:layout_constraintTop_toBottomOf="@+id/headerBg"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toBottomOf="parent">
@@ -43,27 +41,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:paddingHorizontal="32dp" android:paddingHorizontal="24dp"
android:paddingTop="20dp" android:paddingTop="20dp"
android:paddingBottom="20dp"> android:paddingBottom="20dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Login" android:fontFamily="@font/font_bebas_neue"
android:text="LOGIN"
android:textSize="32sp" android:textSize="32sp"
android:textStyle="bold" android:textColor="@color/text_1"
android:textColor="#212121" android:letterSpacing="0.04"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="40dp" /> android:layout_marginBottom="32dp" />
<!-- Email Label --> <!-- Email Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Email" android:text="Email"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
@@ -71,23 +72,26 @@
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editEmail" android:id="@+id/editEmail"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
android:hint="email@exemplo.com" android:hint="email@exemplo.com"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="24dp" /> android:textSize="13sp"
android:layout_marginBottom="20dp" />
<!-- Password Label --> <!-- Password Label -->
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Password" android:text="Password"
android:textColor="#212121" android:textColor="@color/text_1"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginStart="4dp"/> android:layout_marginStart="4dp"/>
@@ -95,15 +99,16 @@
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/editPassword2" android:id="@+id/editPassword2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="50dp" android:layout_height="48dp"
android:background="@drawable/bg_input_field" android:background="@drawable/bg_input_field"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:inputType="textPassword" android:inputType="textPassword"
android:hint="********" android:hint="********"
android:textColor="#424242" android:textColor="@color/text_1"
android:textColorHint="#BDBDBD" android:textColorHint="@color/text_3"
android:textSize="14sp" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginBottom="16dp" /> android:textSize="13sp"
android:layout_marginBottom="14dp" />
<!-- Remember Me & Forgot Password --> <!-- Remember Me & Forgot Password -->
<LinearLayout <LinearLayout
@@ -111,14 +116,17 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_marginBottom="32dp"> android:layout_marginBottom="28dp">
<CheckBox <CheckBox
android:id="@+id/checkRememberMe" android:id="@+id/checkRememberMe"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lembrar" android:text="Lembrar"
android:textColor="#757575"/> android:buttonTint="@color/brand"
android:textColor="@color/text_2"
android:textSize="13sp"/>
<View <View
android:layout_width="0dp" android:layout_width="0dp"
@@ -129,8 +137,9 @@
android:id="@+id/txtForgotPassword" android:id="@+id/txtForgotPassword"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Esqueceu a senha?" android:text="Esqueceu a senha?"
android:textColor="#757575" android:textColor="@color/text_2"
android:textStyle="bold" android:textStyle="bold"
android:textSize="12sp" android:textSize="12sp"
android:clickable="true" android:clickable="true"
@@ -138,18 +147,19 @@
</LinearLayout> </LinearLayout>
<!-- Login Button --> <!-- Login Button -->
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnLogin" android:id="@+id/btnLogin"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="48dp"
android:text="Login" android:text="Login"
android:textAllCaps="false" android:textAllCaps="false"
android:textSize="16sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="#FFFFFF" android:fontFamily="@font/font_ibm_plex_sans"
android:backgroundTint="#000000" android:textColor="@color/bg_base"
app:cornerRadius="12dp" app:backgroundTint="@color/brand"
android:layout_marginBottom="24dp" /> app:cornerRadius="8dp"
android:layout_marginBottom="20dp" />
<!-- Sign Up Link --> <!-- Sign Up Link -->
<LinearLayout <LinearLayout
@@ -161,21 +171,25 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Não tem uma conta? " android:text="Não tem uma conta? "
android:textColor="#757575" /> android:textColor="@color/text_2"
android:textSize="13sp" />
<TextView <TextView
android:id="@+id/txtRegister" android:id="@+id/txtRegister"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Criar Conta" android:text="Criar Conta"
android:textColor="#000000" android:textColor="@color/brand"
android:textStyle="bold" android:textStyle="bold"
android:textSize="13sp"
android:clickable="true" android:clickable="true"
android:focusable="true"/> android:focusable="true"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -20,9 +20,11 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="start" android:layout_gravity="start"
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
android:background="@color/white" android:background="@color/bg_surface"
app:itemTextColor="@color/black" app:itemTextAppearance="@style/Theme.VdcScore.DrawerTextAppearance"
app:itemIconTint="@color/black" app:itemTextColor="@color/nav_item_tint"
app:itemIconTint="@color/nav_item_tint"
app:itemBackground="@color/nav_item_bg"
app:headerLayout="@layout/nav_header_main" app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" /> app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout> </androidx.drawerlayout.widget.DrawerLayout>

View File

@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/bg_gradient"> android:background="@color/bg_base">
<!-- Back Button --> <!-- Back Button -->
<ImageButton <ImageButton
@@ -16,7 +16,7 @@
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:background="?attr/selectableItemBackgroundBorderless" android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_arrow_back" android:src="@drawable/ic_arrow_back"
android:tint="#FFFFFF" app:tint="@color/text_2"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -26,10 +26,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="60dp" android:layout_marginTop="60dp"
android:text="Recuperar Palavra-passe" android:fontFamily="@font/font_bebas_neue"
android:text="RECUPERAR PALAVRA-PASSE"
android:textSize="28sp" android:textSize="28sp"
android:textStyle="bold" android:letterSpacing="0.04"
android:textColor="#FFFFFF" android:textColor="@color/text_1"
android:gravity="center" android:gravity="center"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -42,29 +43,29 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginStart="32dp"
android:layout_marginEnd="32dp" android:layout_marginEnd="32dp"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Introduza o seu email e enviaremos instruções para recuperar a sua palavra-passe" android:text="Introduza o seu email e enviaremos instruções para recuperar a sua palavra-passe"
android:textSize="14sp" android:textSize="13sp"
android:textColor="#FFFFFF" android:textColor="@color/text_2"
android:alpha="0.9"
android:gravity="center" android:gravity="center"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewTitle" /> app:layout_constraintTop_toBottomOf="@+id/textViewTitle" />
<!-- Card --> <!-- Card -->
<androidx.cardview.widget.CardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardRecuperar" android:id="@+id/cardRecuperar"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:layout_marginStart="24dp"
android:layout_marginEnd="24dp" android:layout_marginEnd="24dp"
android:layout_marginTop="48dp" android:layout_marginTop="32dp"
android:elevation="8dp" app:cardCornerRadius="12dp"
android:padding="28dp" app:cardElevation="0dp"
app:cardCornerRadius="24dp" app:strokeColor="@color/border"
app:cardBackgroundColor="#FFFFFF" app:strokeWidth="1dp"
app:cardUseCompatPadding="true" app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textSubtitle"> app:layout_constraintTop_toBottomOf="@+id/textSubtitle">
@@ -72,57 +73,57 @@
<LinearLayout <LinearLayout
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="20dp">
<!-- Email --> <!-- Email Label -->
<com.google.android.material.textfield.TextInputLayout <TextView
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="24dp" android:fontFamily="@font/font_ibm_plex_sans"
android:hint="Email" android:text="Email"
app:boxCornerRadiusTopStart="12dp" android:textColor="@color/text_1"
app:boxCornerRadiusTopEnd="12dp" android:textStyle="bold"
app:boxCornerRadiusBottomStart="12dp" android:textSize="13sp"
app:boxCornerRadiusBottomEnd="12dp" android:layout_marginBottom="8dp"/>
app:boxStrokeWidth="0dp"
app:startIconDrawable="@android:drawable/ic_dialog_email"
app:startIconTint="#667eea"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox">
<com.google.android.material.textfield.TextInputEditText <!-- Email Input -->
android:id="@+id/editEmailRecuperar" <com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent" android:id="@+id/editEmailRecuperar"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:inputType="textEmailAddress" android:layout_height="48dp"
android:textColor="#263238" android:background="@drawable/bg_input_field"
android:textColorHint="#90A4AE" android:inputType="textEmailAddress"
android:padding="16dp" /> android:textColor="@color/text_1"
android:textColorHint="@color/text_3"
</com.google.android.material.textfield.TextInputLayout> android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="13sp"
android:paddingHorizontal="16dp"
android:layout_marginBottom="16dp" />
<!-- Botão --> <!-- Botão -->
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnRecuperar" android:id="@+id/btnRecuperar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="56dp" android:layout_height="48dp"
android:layout_marginTop="8dp"
android:background="@drawable/button_modern"
android:text="Enviar Email" android:text="Enviar Email"
android:textColor="#FFFFFF" android:textColor="@color/bg_base"
android:textSize="16sp" app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:elevation="4dp" android:textAllCaps="false" />
android:stateListAnimator="@null" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>
<!-- Voltar ao Login --> <!-- Voltar ao Login -->
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="24dp" android:layout_marginTop="20dp"
android:orientation="horizontal" android:orientation="horizontal"
android:gravity="center" android:gravity="center"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -132,25 +133,24 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lembras-te da palavra-passe? " android:text="Lembras-te da palavra-passe? "
android:textColor="#FFFFFF" android:textColor="@color/text_2"
android:textSize="14sp" android:textSize="13sp" />
android:alpha="0.9" />
<TextView <TextView
android:id="@+id/txtVoltarLogin" android:id="@+id/txtVoltarLogin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Entrar" android:text="Entrar"
android:textColor="#FFFFFF" android:textColor="@color/brand"
android:textStyle="bold" android:textStyle="bold"
android:textSize="14sp" android:textSize="13sp"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:padding="4dp" android:padding="4dp" />
android:background="?attr/selectableItemBackground" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -4,26 +4,32 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/bg_base"
tools:context=".MainActivity"> tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white" android:background="@color/bg_surface"
android:theme="@style/ThemeOverlay.AppCompat.Light"> <!-- Light theme for dark text --> app:elevation="0dp"
android:theme="@style/Theme.VdcScore.AppBarOverlay">
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="@color/white" android:background="@color/bg_surface"
app:titleTextColor="@color/black" app:titleTextAppearance="@style/Theme.VdcScore.ToolbarTitleTextAppearance"
app:titleTextColor="@color/text_1"
app:popupTheme="@style/Theme.VdcScore.PopupOverlay" /> app:popupTheme="@style/Theme.VdcScore.PopupOverlay" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_main" /> <include layout="@layout/content_main" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/bg_base"
app:layout_behavior="@string/appbar_scrolling_view_behavior" app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main"> tools:showIn="@layout/app_bar_main">

View File

@@ -5,22 +5,24 @@
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/white" android:background="@color/bg_base"
tools:context=".ui.clubs.ClubDetailFragment"> tools:context=".ui.clubs.ClubDetailFragment">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="24dp"> android:padding="16dp">
<!-- Club Logo (Circular) --> <!-- Club Logo (Circular) -->
<androidx.cardview.widget.CardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardLogo" android:id="@+id/cardLogo"
android:layout_width="200dp" android:layout_width="140dp"
android:layout_height="200dp" android:layout_height="140dp"
app:cardCornerRadius="100dp" app:cardCornerRadius="70dp"
app:cardElevation="8dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/white" app:strokeWidth="2dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -31,540 +33,385 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:padding="0dp"
tools:src="@mipmap/ic_launcher_round"/> tools:src="@mipmap/ic_launcher_round"/>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>
<!-- CLUBE Label --> <!-- CLUBE Label -->
<TextView <TextView
android:id="@+id/label_club" android:id="@+id/label_club"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="CLUBE:" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="14sp" android:text="CLUBE"
android:textColor="#616161" android:textSize="10sp"
android:layout_marginTop="32dp" android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/cardLogo" app:layout_constraintTop_toBottomOf="@id/cardLogo"
app:layout_constraintStart_toStartOf="parent"/> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Club Name --> <!-- Club Name -->
<TextView <TextView
android:id="@+id/text_detail_club_name" android:id="@+id/text_detail_club_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
tools:text="Inter Freguesias Vila do Conde" tools:text="Inter Freguesias Vila do Conde"
android:textSize="28sp" android:textSize="26sp"
android:textStyle="bold" android:textColor="@color/text_1"
android:textColor="#0D47A1" android:letterSpacing="0.04"
android:gravity="center"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
app:layout_constraintTop_toBottomOf="@id/label_club" app:layout_constraintTop_toBottomOf="@id/label_club"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/> app:layout_constraintEnd_toEndOf="parent"/>
<!-- Club Info Header --> <!-- Club Info Card -->
<TextView <com.google.android.material.card.MaterialCardView
android:id="@+id/label_club_info" android:id="@+id/card_club_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="INFORMAÇÃO DO CLUBE:"
android:textSize="14sp"
android:textColor="#616161"
android:layout_marginTop="32dp"
app:layout_constraintTop_toBottomOf="@id/text_detail_club_name"
app:layout_constraintStart_toStartOf="parent"/>
<!-- Club Info Container -->
<LinearLayout
android:id="@+id/container_club_info"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="20dp"
android:layout_marginTop="16dp" app:cardCornerRadius="12dp"
app:layout_constraintTop_toBottomOf="@id/label_club_info" app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintTop_toBottomOf="@id/text_detail_club_name"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">
<!-- Presidente Row -->
<LinearLayout <LinearLayout
android:id="@+id/container_club_info"
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:gravity="center_vertical" android:padding="16dp">
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_person"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<TextView <TextView
android:layout_width="0dp" android:id="@+id/label_club_info"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="PRESIDENTE:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_president"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="---" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="16sp" android:text="INFORMAÇÃO"
android:textColor="#263238" android:textSize="9sp"
android:textStyle="bold"/> android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginBottom="12dp" />
<!-- Presidente -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_person" app:tint="@color/brand" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/brand_dim" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="PRESIDENTE" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_president" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Fundação -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_calendar" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="ANO DE FUNDAÇÃO" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_foundation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Campo -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/brand" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/brand_dim" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="CAMPO" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_stadium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="13sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Morada -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_location" app:tint="@color/danger" android:background="@drawable/circle_edit_background" android:backgroundTint="#1aef4444" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="MORADA" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="---" android:fontFamily="@font/font_ibm_plex_sans" android:textSize="12sp" android:textColor="@color/text_1" android:textStyle="bold" android:maxWidth="180dp" android:gravity="end"/>
</LinearLayout>
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Foundation Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_calendar"
app:tint="#1976D2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E3F2FD"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="ANO DE FUNDAÇÃO:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_foundation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
<!-- Stadium Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#388E3C"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E8F5E9"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="CAMPO:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_stadium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
<!-- Morada Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_location"
app:tint="#D32F2F"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#FFEBEE"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="MORADA:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="---"
android:textSize="14sp"
android:textColor="#263238"
android:textStyle="bold"
android:maxWidth="200dp"
android:gravity="end"/>
</LinearLayout>
</LinearLayout>
<!-- Statistics Header --> <!-- Statistics Header -->
<TextView <TextView
android:id="@+id/label_stats" android:id="@+id/label_stats"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="ESTATÍSTICAS:" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="14sp" android:text="ESTATÍSTICAS"
android:textColor="#616161" android:textSize="9sp"
android:layout_marginTop="32dp" android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
android:visibility="gone" android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/container_club_info" app:layout_constraintTop_toBottomOf="@id/card_club_info"
app:layout_constraintStart_toStartOf="parent"/> app:layout_constraintStart_toStartOf="parent"/>
<!-- Stats Container --> <!-- Stats Card -->
<LinearLayout <com.google.android.material.card.MaterialCardView
android:id="@+id/container_stats" android:id="@+id/card_stats"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="8dp"
android:layout_marginTop="16dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
android:visibility="gone" android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/label_stats" app:layout_constraintTop_toBottomOf="@id/label_stats"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">
<!-- Posicao Row -->
<LinearLayout <LinearLayout
android:id="@+id/container_stats"
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:gravity="center_vertical" android:padding="16dp">
android:paddingVertical="8dp">
<TextView <!-- Posição -->
android:id="@+id/text_detail_position_circle" <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
android:layout_width="40dp" <TextView android:id="@+id/text_detail_position_circle" android:layout_width="32dp" android:layout_height="32dp" android:gravity="center" android:text="1" android:textColor="@color/bg_base" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textStyle="bold" android:background="@drawable/bg_circle_green"/>
android:layout_height="40dp" <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="POSIÇÃO ATUAL" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
android:gravity="center" <TextView android:id="@+id/text_detail_position" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1º" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
android:text="1" </LinearLayout>
android:textColor="@color/white" <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/bg_circle_green"/>
<TextView <!-- Pontos -->
android:layout_width="0dp" <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
android:layout_height="wrap_content" <ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/danger" android:background="@drawable/circle_edit_background" android:backgroundTint="#1aef4444" android:padding="6dp"/>
android:layout_weight="1" <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="PONTOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
android:layout_marginStart="16dp" <TextView android:id="@+id/text_detail_points" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="30" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
android:text="POSIÇÃO ATUAL:" </LinearLayout>
android:textSize="12sp" <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
android:textColor="#616161"/>
<!-- Jogos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="JOGOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_played" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<!-- W/D/L -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginStart="44dp" android:paddingBottom="10dp">
<TextView android:id="@+id/text_detail_won" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10V" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/brand" android:textStyle="bold" android:textSize="12sp" android:layout_marginEnd="12dp"/>
<TextView android:id="@+id/text_detail_drawn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0E" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/warning" android:textStyle="bold" android:textSize="12sp" android:layout_marginEnd="12dp"/>
<TextView android:id="@+id/text_detail_lost" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0D" android:fontFamily="@font/font_ibm_plex_mono" android:textColor="@color/danger" android:textStyle="bold" android:textSize="12sp"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- Golos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/text_2" android:background="@drawable/circle_edit_background" android:backgroundTint="@color/bg_elevated" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="GOLOS (M-S)" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_goals" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="54 - 8" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_1" android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border"/>
<!-- DG -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="10dp">
<ImageView android:layout_width="32dp" android:layout_height="32dp" android:src="@drawable/ic_soccer" app:tint="@color/accent" android:background="@drawable/circle_edit_background" android:backgroundTint="#1a3b82f6" android:padding="6dp"/>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="12dp" android:fontFamily="@font/font_ibm_plex_mono" android:text="DIFERENÇA DE GOLOS" android:textSize="9sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_detail_goal_diff" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+46" android:fontFamily="@font/font_bebas_neue" android:textSize="22sp" android:textColor="@color/brand"/>
</LinearLayout>
<TextView
android:id="@+id/text_detail_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1º"
android:textSize="18sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Pontos Row --> <!-- Compare Button -->
<LinearLayout <com.google.android.material.button.MaterialButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#D32F2F"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#FFEBEE"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="PONTOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_points"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30"
android:textSize="18sp"
android:textColor="#D32F2F"
android:textStyle="bold"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="#F5F5F5"/>
<!-- Games Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#1976D2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#E3F2FD"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="JOGOS REALIZADOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_played"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
<!-- W/D/L Summary -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginStart="56dp"
android:paddingBottom="8dp">
<TextView
android:id="@+id/text_detail_won"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10V"
android:textColor="#388E3C"
android:textStyle="bold"
android:textSize="14sp"
android:layout_marginEnd="16dp"/>
<TextView
android:id="@+id/text_detail_drawn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0E"
android:textColor="#FBC02D"
android:textStyle="bold"
android:textSize="14sp"
android:layout_marginEnd="16dp"/>
<TextView
android:id="@+id/text_detail_lost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0D"
android:textColor="#D32F2F"
android:textStyle="bold"
android:textSize="14sp"/>
</LinearLayout>
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="#F5F5F5"/>
<!-- Goals Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="GOLOS (M-S):"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_goals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="54 - 8"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
<!-- Goal Diff Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="8dp">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_soccer"
app:tint="#7B1FA2"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#F3E5F5"
android:padding="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:text="DIFERENÇA DE GOLOS:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_goal_diff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+46"
android:textSize="16sp"
android:textColor="#7B1FA2"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>
<!-- Comparison Button -->
<Button
android:id="@+id/btn_compare" android:id="@+id/btn_compare"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="42dp"
android:text="COMPARAR ESTATÍSTICAS" android:layout_marginTop="14dp"
android:layout_marginTop="24dp" app:backgroundTint="@color/bg_elevated"
app:cornerRadius="12dp" app:strokeColor="@color/border"
android:backgroundTint="#FFC107" app:strokeWidth="1dp"
android:textColor="@color/black" app:cornerRadius="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Comparar Estatísticas"
android:textColor="@color/text_2"
android:textSize="12sp"
android:textAllCaps="false"
android:visibility="gone" android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/container_stats" app:layout_constraintTop_toBottomOf="@id/card_stats"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/> app:layout_constraintEnd_toEndOf="parent"/>
<!-- Comparison View (Hidden initially) --> <!-- Comparison View -->
<LinearLayout <com.google.android.material.card.MaterialCardView
android:id="@+id/layout_comparison" android:id="@+id/card_comparison"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="12dp"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
android:visibility="gone" android:visibility="gone"
android:layout_marginTop="16dp" app:layout_constraintTop_toBottomOf="@id/btn_compare"
android:padding="12dp" app:layout_constraintStart_toStartOf="parent"
android:background="@drawable/shape_score_bg" app:layout_constraintEnd_toEndOf="parent">
app:layout_constraintTop_toBottomOf="@id/btn_compare">
<TextView <LinearLayout
android:layout_width="wrap_content" android:id="@+id/layout_comparison"
android:layout_height="wrap_content"
android:text="CONFRONTO DIRETO"
android:textStyle="bold"
android:textSize="14sp"
android:layout_gravity="center"
android:layout_marginBottom="8dp"/>
<TableLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TableRow android:padding="4dp"> <TextView
<View android:layout_width="0dp" android:layout_weight="1"/> android:layout_width="wrap_content"
<TextView android:id="@+id/text_compare_team1" android:text="Equipa A" android:textStyle="bold" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_height="wrap_content"
<TextView android:id="@+id/text_compare_team2" android:text="Equipa B" android:textStyle="bold" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_gravity="center_horizontal"
</TableRow> android:fontFamily="@font/font_bebas_neue"
android:letterSpacing="0.05"
android:text="CONFRONTO DIRETO"
android:textColor="@color/brand"
android:textSize="16sp"
android:layout_marginBottom="16dp" />
<TableRow android:padding="4dp"> <!-- Top Bar: Dual Team Logos/Names -->
<TextView android:text="Pontos" android:textSize="12sp" android:layout_width="0dp" android:layout_weight="1"/> <LinearLayout
<TextView android:id="@+id/text_compare_p1" android:text="30" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_width="match_parent"
<TextView android:id="@+id/text_compare_p2" android:text="20" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_height="wrap_content"
</TableRow> android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="24dp">
<TableRow android:padding="4dp"> <LinearLayout
<TextView android:text="Golos" android:textSize="12sp" android:layout_width="0dp" android:layout_weight="1"/> android:layout_width="0dp"
<TextView android:id="@+id/text_compare_g1" android:text="50" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_height="wrap_content"
<TextView android:id="@+id/text_compare_g2" android:text="30" android:gravity="center" android:layout_width="0dp" android:layout_weight="2"/> android:layout_weight="1"
</TableRow> android:orientation="vertical"
android:gravity="center">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_compare_team1"
android:layout_width="48dp"
android:layout_height="48dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:background="@color/bg_elevated"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
android:src="@mipmap/ic_launcher_round"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/text_compare_team1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team A"
android:fontFamily="@font/font_ibm_plex_sans"
android:textStyle="bold"
android:textColor="@color/text_1"
android:textSize="13sp"
android:layout_marginTop="8dp"
android:gravity="center"
android:ellipsize="end"
android:maxLines="1"/>
</LinearLayout>
</TableLayout> <TextView
</LinearLayout> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="VS"
android:fontFamily="@font/font_bebas_neue"
android:textSize="22sp"
android:textColor="@color/text_3"
android:layout_marginHorizontal="12dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_compare_team2"
android:layout_width="48dp"
android:layout_height="48dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:background="@color/bg_elevated"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
android:src="@mipmap/ic_launcher_round"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/text_compare_team2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team B"
android:fontFamily="@font/font_ibm_plex_sans"
android:textStyle="bold"
android:textColor="@color/text_1"
android:textSize="13sp"
android:layout_marginTop="8dp"
android:gravity="center"
android:ellipsize="end"
android:maxLines="1"/>
</LinearLayout>
</LinearLayout>
<!-- Stats Stack -->
<View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/border" android:layout_marginBottom="12dp"/>
<!-- Row: Pontos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_p1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="PONTOS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_p2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
<!-- Row: Vitórias -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_v1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="VITÓRIAS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_v2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
<!-- Row: Jogos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_j1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_2"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="JOGOS" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_j2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="14sp" android:textColor="@color/text_2"/>
</LinearLayout>
<!-- Row: Golos -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" android:paddingVertical="8dp">
<TextView android:id="@+id/text_compare_g1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
<TextView android:layout_width="100dp" android:layout_height="wrap_content" android:text="GOLOS MARC." android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="10sp" android:textColor="@color/text_3" android:letterSpacing="0.05"/>
<TextView android:id="@+id/text_compare_g2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0" android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono" android:textSize="16sp" android:textColor="@color/text_1"/>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Players Button --> <!-- Players Button -->
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btn_players" android:id="@+id/btn_players"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="60dp" android:layout_height="48dp"
android:text="JOGADORES\n(Ver Lista)" android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/white" android:text="Ver Jogadores"
android:textSize="16sp" android:textColor="@color/bg_base"
android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
app:cornerRadius="12dp" android:textAllCaps="false"
android:backgroundTint="#1976D2" app:backgroundTint="@color/brand"
app:cornerRadius="8dp"
app:icon="@drawable/ic_soccer" app:icon="@drawable/ic_soccer"
app:iconGravity="textStart" app:iconGravity="textStart"
app:iconSize="32dp" app:iconSize="20dp"
app:iconTint="@color/white" app:iconTint="@color/bg_base"
android:gravity="center" android:gravity="center"
android:layout_marginTop="40dp" android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/layout_comparison" android:layout_marginBottom="20dp"
app:layout_constraintTop_toBottomOf="@id/card_comparison"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="1.0" app:layout_constraintVertical_bias="1.0"/>
android:layout_marginBottom="20dp"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#F5F5F5" android:background="@color/bg_base"
tools:context=".ui.clubs.ClubPlayersFragment"> tools:context=".ui.clubs.ClubPlayersFragment">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
@@ -12,6 +12,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="8dp" android:padding="8dp"
android:clipToPadding="false"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/> app:layout_constraintBottom_toBottomOf="parent"/>
@@ -20,9 +21,10 @@
android:id="@+id/text_no_players" android:id="@+id/text_no_players"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Sem jogadores inscritos" android:text="Sem jogadores inscritos"
android:textSize="18sp" android:textSize="15sp"
android:textColor="#757575" android:textColor="@color/text_2"
android:visibility="gone" android:visibility="gone"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@@ -33,6 +35,7 @@
android:id="@+id/progressBarPlayers" android:id="@+id/progressBarPlayers"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:indeterminateTint="@color/brand"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -1,55 +1,99 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/background_light"> android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.clubs.ClubsFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="CLUBES"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Lista de clubes participantes na liga."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Category Toggle -->
<com.google.android.material.button.MaterialButtonToggleGroup <com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroupEscalao" android:id="@+id/toggleGroupEscalao"
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_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:checkedButton="@id/btnSeniores" app:checkedButton="@id/btnSeniores"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:singleSelection="true"> app:singleSelection="true">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnSeniores" android:id="@+id/btnSeniores"
style="?attr/materialButtonOutlinedStyle" android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Seniores" /> android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnJuniores" android:id="@+id/btnJuniores"
style="?attr/materialButtonOutlinedStyle" android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Juniores" /> android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
</com.google.android.material.button.MaterialButtonToggleGroup> </com.google.android.material.button.MaterialButtonToggleGroup>
<androidx.recyclerview.widget.RecyclerView <FrameLayout
android:id="@+id/recycler_clubs" android:layout_width="match_parent"
android:layout_width="0dp" android:layout_height="match_parent">
android:layout_height="0dp"
android:layout_marginTop="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toggleGroupEscalao" />
<ProgressBar <androidx.recyclerview.widget.RecyclerView
android:id="@+id/progress_bar" android:id="@+id/recycler_clubs"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent" android:clipToPadding="false"
app:layout_constraintEnd_toEndOf="parent" android:paddingTop="4dp"
app:layout_constraintStart_toStartOf="parent" android:paddingBottom="16dp"
app:layout_constraintTop_toTopOf="parent" /> app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</androidx.constraintlayout.widget.ConstraintLayout> <ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminateTint="@color/brand" />
</FrameLayout>
</LinearLayout>

View File

@@ -3,108 +3,124 @@
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:background="@color/background_light"> android:background="@color/bg_base">
<LinearLayout <LinearLayout
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="24dp"> android:padding="16dp">
<TextView <!-- Section Header -->
android:id="@+id/textTitle" <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Definições"
android:textColor="@color/primary_color"
android:textSize="28sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="4dp" android:orientation="vertical"
android:text="Personaliza a aplicação de acordo com o teu gosto." android:layout_marginBottom="16dp">
android:textColor="@color/text_secondary"
android:textSize="14sp" />
<TextView
android:id="@+id/textTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="DEFINIÇÕES"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Personaliza a aplicação de acordo com o teu gosto."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Card: Conta -->
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardConta" android:id="@+id/cardConta"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:layout_marginBottom="12dp"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:foreground="?attr/selectableItemBackground" android:foreground="?attr/selectableItemBackground"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp" app:cardElevation="0dp"
app:strokeColor="@color/divider" app:strokeColor="@color/border"
app:strokeWidth="1dp" app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card"> app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="20dp"> android:padding="16dp">
<ImageView <ImageView
android:layout_width="40dp" android:layout_width="36dp"
android:layout_height="40dp" android:layout_height="36dp"
android:contentDescription="@string/menu_definicoes" android:contentDescription="@string/menu_definicoes"
android:padding="4dp" android:padding="4dp"
android:src="@android:drawable/ic_menu_manage" android:src="@android:drawable/ic_menu_manage"
app:tint="@color/black"/> app:tint="@color/brand"/>
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="12dp"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Conta" android:text="Conta"
android:textColor="@color/black" android:textColor="@color/text_1"
android:textSize="18sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Atualiza os teus dados pessoais" android:text="Atualiza os teus dados pessoais"
android:textColor="@color/text_secondary" android:textColor="@color/text_2"
android:textSize="14sp" /> android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout> </LinearLayout>
<ImageView <ImageView
android:layout_width="wrap_content" android:layout_width="16dp"
android:layout_height="wrap_content" android:layout_height="16dp"
android:contentDescription="@string/menu_definicoes" android:contentDescription="@string/menu_definicoes"
android:src="@android:drawable/ic_media_next" android:src="@android:drawable/ic_media_next"
app:tint="@color/text_secondary"/> app:tint="@color/text_3"/>
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<!-- Card: Preferências -->
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginBottom="12dp"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="0dp" app:cardElevation="0dp"
app:strokeColor="@color/divider" app:strokeColor="@color/border"
app:strokeWidth="1dp" app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card"> app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="20dp"> android:padding="16dp">
<!-- Notifications Row -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -120,33 +136,39 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Notificações" android:text="Notificações"
android:textColor="@color/black" android:textColor="@color/text_1"
android:textSize="16sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
android:id="@+id/textNotificationsStatus" android:id="@+id/textNotificationsStatus"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ativadas" android:text="Ativadas"
android:textColor="@color/text_secondary" android:textColor="@color/text_2"
android:textSize="14sp" /> android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout> </LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switchNotifications" android:id="@+id/switchNotifications"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checked="true" /> android:checked="true"
app:thumbTint="@color/brand"
app:trackTint="@color/brand_dim" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginVertical="16dp" android:layout_marginVertical="14dp"
android:background="@color/divider" /> android:background="@color/border" />
<!-- Dark Mode Row -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -162,69 +184,80 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Modo escuro" android:text="Modo escuro"
android:textColor="@color/black" android:textColor="@color/text_1"
android:textSize="16sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
android:id="@+id/textDarkModeStatus" android:id="@+id/textDarkModeStatus"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Inativo" android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/text_secondary" android:text="Ativo"
android:textSize="14sp" /> android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="2dp" />
</LinearLayout> </LinearLayout>
<com.google.android.material.switchmaterial.SwitchMaterial <com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switchDarkMode" android:id="@+id/switchDarkMode"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:checked="true"
app:thumbTint="@color/brand"
app:trackTint="@color/brand_dim" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<!-- Card: Suporte -->
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" app:cardCornerRadius="12dp"
app:cardCornerRadius="16dp"
app:cardElevation="0dp" app:cardElevation="0dp"
app:strokeColor="@color/divider" app:strokeColor="@color/border"
app:strokeWidth="1dp" app:strokeWidth="1dp"
app:cardBackgroundColor="@color/surface_card"> app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
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="20dp"> android:padding="16dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ajuda e suporte" android:text="Ajuda e suporte"
android:textColor="@color/black" android:textColor="@color/text_1"
android:textSize="16sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<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="4dp" android:layout_marginTop="4dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Consulta a nossa base de conhecimento ou fala connosco." android:text="Consulta a nossa base de conhecimento ou fala connosco."
android:textColor="@color/text_secondary" android:textColor="@color/text_2"
android:textSize="14sp" /> android:textSize="12sp" />
<Button <com.google.android.material.button.MaterialButton
android:id="@+id/btnOpenSystemSettings" android:id="@+id/btnOpenSystemSettings"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:backgroundTint="@color/black" app:backgroundTint="@color/brand"
android:text="Abrir definições do sistema" android:text="Abrir definições do sistema"
android:fontFamily="@font/font_ibm_plex_sans"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/white" /> android:textColor="@color/bg_base"
android:textStyle="bold"
app:cornerRadius="8dp" />
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</LinearLayout> </LinearLayout>

View File

@@ -5,68 +5,98 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:background="@color/bg_base"
android:background="@color/background_light"
tools:context=".ui.gallery.GalleryFragment"> tools:context=".ui.gallery.GalleryFragment">
<TextView <!-- Section Header -->
android:id="@+id/text_title" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Jornadas" android:orientation="vertical"
android:textSize="28sp" android:padding="16dp">
android:textStyle="bold"
android:textColor="@color/primary_color" <TextView
android:layout_marginBottom="16dp" /> android:id="@+id/text_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="JORNADAS"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Calendário de jogos e resultados em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Category Toggle --> <!-- Category Toggle -->
<com.google.android.material.button.MaterialButtonToggleGroup <com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggle_group_category" android:id="@+id/toggle_group_category"
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:layout_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:singleSelection="true" app:singleSelection="true"
app:selectionRequired="true" app:selectionRequired="true"
app:checkedButton="@+id/btn_seniores"> app:checkedButton="@+id/btn_seniores">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_seniores" android:id="@+id/btn_seniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores" android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" /> android:textAllCaps="false" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_juniores" android:id="@+id/btn_juniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores" android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" /> android:textAllCaps="false" />
</com.google.android.material.button.MaterialButtonToggleGroup> </com.google.android.material.button.MaterialButtonToggleGroup>
<!-- Matchday Navigation --> <!-- Matchday Navigation (Mockup Style) -->
<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="horizontal"
android:gravity="center" android:gravity="center"
android:background="@drawable/bg_jornada_nav" android:background="@color/bg_surface"
android:padding="8dp" android:paddingVertical="10dp"
android:layout_marginBottom="16dp"> android:paddingHorizontal="16dp">
<ImageButton <ImageButton
android:id="@+id/btn_prev_jornada" android:id="@+id/btn_prev_jornada"
android:layout_width="48dp" android:layout_width="36dp"
android:layout_height="48dp" android:layout_height="36dp"
android:background="?attr/selectableItemBackgroundBorderless" android:background="@drawable/bg_circle_light_gray"
android:src="@android:drawable/ic_media_previous" android:src="@android:drawable/ic_media_previous"
android:contentDescription="Anterior" android:contentDescription="Anterior"
app:tint="@color/primary_color" /> app:tint="@color/text_2" />
<TextView <TextView
android:id="@+id/text_jornada_name" android:id="@+id/text_jornada_name"
@@ -74,21 +104,28 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="Carregando..." android:text="Carregando..."
android:fontFamily="@font/font_bebas_neue"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" android:letterSpacing="0.04"
android:gravity="center" android:gravity="center"
android:textColor="@color/text_primary" /> android:textColor="@color/text_1" />
<ImageButton <ImageButton
android:id="@+id/btn_next_jornada" android:id="@+id/btn_next_jornada"
android:layout_width="48dp" android:layout_width="36dp"
android:layout_height="48dp" android:layout_height="36dp"
android:background="?attr/selectableItemBackgroundBorderless" android:background="@drawable/bg_circle_light_gray"
android:src="@android:drawable/ic_media_next" android:src="@android:drawable/ic_media_next"
android:contentDescription="Próxima" android:contentDescription="Próxima"
app:tint="@color/primary_color" /> app:tint="@color/text_2" />
</LinearLayout> </LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"
android:layout_marginBottom="8dp" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_matchdays" android:id="@+id/recycler_matchdays"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -6,134 +6,189 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
android:background="@color/background_light" android:background="@color/bg_base"
tools:context=".ui.home.HomeFragment"> tools:context=".ui.home.HomeFragment">
<TextView <!-- Section Header -->
android:id="@+id/text_title" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Classificação" android:orientation="vertical"
android:textSize="28sp" android:layout_marginBottom="16dp">
android:textStyle="bold"
android:textColor="@color/primary_color"
android:layout_marginBottom="16dp" />
<TextView
android:id="@+id/text_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="CLASSIFICAÇÃO"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Tabela classificativa em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- Escaloes Toggle Group -->
<com.google.android.material.button.MaterialButtonToggleGroup <com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroupEscalao" android:id="@+id/toggleGroupEscalao"
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:layout_marginBottom="14dp"
app:checkedButton="@id/btnSeniores" app:checkedButton="@id/btnSeniores"
android:gravity="center" android:gravity="center"
app:singleSelection="true"> app:singleSelection="true">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnSeniores" android:id="@+id/btnSeniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Seniores" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnJuniores"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Juniores" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<!-- Table Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingHorizontal="8dp"
android:background="@drawable/bg_table_header">
<TextView
android:layout_width="28dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="#"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
<Space
android:layout_width="28dp"
android:layout_height="wrap_content" />
<TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="EQUIPA" android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/white" android:text="Seniores"
android:textSize="11sp" android:textColor="@color/toggle_text_color"
android:textStyle="bold" /> android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
<TextView <com.google.android.material.button.MaterialButton
android:layout_width="24dp" android:id="@+id/btnJuniores"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:layout_weight="1"
android:text="J" android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/white" android:text="Juniores"
android:textSize="11sp" android:textColor="@color/toggle_text_color"
android:textStyle="bold" /> android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<TextView <!-- Table Container with Rounded Corners & Borders -->
android:layout_width="24dp" <LinearLayout
android:layout_height="wrap_content"
android:gravity="center"
android:text="V"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="E"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="D"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
<TextView
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="DG"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
<TextView
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="PTS"
android:textColor="@color/white"
android:textSize="11sp"
android:textStyle="bold" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_standings"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:clipToPadding="false" android:orientation="vertical"
android:paddingTop="4dp" /> android:background="@drawable/bg_match_item"> <!-- Uses 12dp corners, bg_surface, border stroke -->
<!-- Table Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp"
android:paddingHorizontal="12dp"
android:background="@color/bg_elevated"
android:gravity="center_vertical">
<TextView
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Pos"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<Space
android:layout_width="30dp"
android:layout_height="wrap_content" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clube"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="J"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="V"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="E"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="24dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="D"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="26dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="DG"
android:textColor="@color/text_3"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
<TextView
android:layout_width="32dp"
android:layout_height="wrap_content"
android:gravity="end"
android:text="Pts"
android:textColor="@color/brand"
android:textSize="9sp"
android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_standings"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false" />
</LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -3,7 +3,7 @@
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:background="@color/background_light"> android:background="@color/bg_base">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -12,29 +12,63 @@
android:padding="16dp"> android:padding="16dp">
<!-- Header Card --> <!-- Header Card -->
<androidx.cardview.widget.CardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardBackgroundColor="@color/primary_color" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="24dp" app:cardCornerRadius="12dp"
app:cardElevation="6dp"> app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/brand">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="24dp"> android:padding="24dp">
<!-- Live badge -->
<LinearLayout
android:id="@+id/live_badge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_circle_green"
android:paddingHorizontal="10dp"
android:paddingVertical="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<View
android:layout_width="6dp"
android:layout_height="6dp"
android:background="@drawable/bg_circle_light_gray"
android:layout_marginEnd="6dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="DIRETO"
android:textColor="@color/bg_base"
android:textSize="9sp"
android:textStyle="bold" />
</LinearLayout>
<TextView <TextView
android:id="@+id/detail_game_time" android:id="@+id/detail_game_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="65'" android:text="65'"
android:textColor="@color/live_time" android:textColor="@color/brand"
android:textSize="18sp" android:textSize="16sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toBottomOf="@+id/live_badge" />
<TextView <TextView
android:id="@+id/detail_home_team" android:id="@+id/detail_home_team"
@@ -42,9 +76,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:gravity="center" android:gravity="center"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Home" android:text="Home"
android:textColor="@color/white" android:textColor="@color/text_1"
android:textSize="22sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/detail_score" app:layout_constraintEnd_toStartOf="@+id/detail_score"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -55,10 +90,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:fontFamily="@font/font_bebas_neue"
android:text="1 - 1" android:text="1 - 1"
android:textColor="@color/white" android:textColor="@color/brand"
android:textSize="36sp" android:textSize="40sp"
android:textStyle="bold" android:letterSpacing="0.04"
app:layout_constraintBottom_toBottomOf="@+id/detail_home_team" app:layout_constraintBottom_toBottomOf="@+id/detail_home_team"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -69,35 +105,39 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Away" android:text="Away"
android:textColor="@color/white" android:textColor="@color/text_1"
android:textSize="22sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/detail_home_team" app:layout_constraintBottom_toBottomOf="@+id/detail_home_team"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/detail_score" app:layout_constraintStart_toEndOf="@+id/detail_score"
app:layout_constraintTop_toTopOf="@+id/detail_home_team" /> app:layout_constraintTop_toTopOf="@+id/detail_home_team" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>
<!-- Stats Section --> <!-- Stats Section -->
<TextView <TextView
android:id="@+id/text_stats_title" android:id="@+id/text_stats_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="24dp" android:layout_marginTop="20dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="12dp"
android:text="Estatísticas ao Vivo" android:fontFamily="@font/font_bebas_neue"
android:textColor="@color/text_primary" android:text="ESTATÍSTICAS AO VIVO"
android:textColor="@color/text_1"
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" /> android:letterSpacing="0.04" />
<androidx.cardview.widget.CardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/surface_card"> app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -111,9 +151,12 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Posse de Bola" android:text="Posse de Bola"
android:textColor="@color/text_secondary" android:textColor="@color/text_3"
android:textStyle="bold" /> android:textSize="10sp"
android:textStyle="bold"
android:textAllCaps="true" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -126,16 +169,17 @@
android:id="@+id/text_possession_home" android:id="@+id/text_possession_home"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="50%" android:text="50%"
android:textStyle="bold" android:textSize="18sp"
android:textColor="@color/text_primary" android:textColor="@color/brand"
android:layout_marginEnd="12dp"/> android:layout_marginEnd="12dp"/>
<ProgressBar <ProgressBar
android:id="@+id/progress_possession" android:id="@+id/progress_possession"
style="?android:attr/progressBarStyleHorizontal" style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="12dp" android:layout_height="8dp"
android:layout_weight="1" android:layout_weight="1"
android:max="100" android:max="100"
android:progress="50" android:progress="50"
@@ -145,16 +189,17 @@
android:id="@+id/text_possession_away" android:id="@+id/text_possession_away"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="50%" android:text="50%"
android:textStyle="bold" android:textSize="18sp"
android:textColor="@color/text_primary" android:textColor="@color/accent"
android:layout_marginStart="12dp"/> android:layout_marginStart="12dp"/>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="@color/divider" android:background="@color/border"
android:layout_marginVertical="16dp"/> android:layout_marginVertical="16dp"/>
<!-- Shots --> <!-- Shots -->
@@ -163,9 +208,12 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Remates" android:text="Remates"
android:textColor="@color/text_secondary" android:textColor="@color/text_3"
android:textStyle="bold" /> android:textSize="10sp"
android:textStyle="bold"
android:textAllCaps="true" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -178,24 +226,24 @@
android:id="@+id/text_shots_home" android:id="@+id/text_shots_home"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="5" android:text="5"
android:textSize="24sp" android:textSize="28sp"
android:textStyle="bold" android:textColor="@color/brand"
android:textColor="@color/secondary_color"
android:layout_marginEnd="32dp"/> android:layout_marginEnd="32dp"/>
<TextView <TextView
android:id="@+id/text_shots_away" android:id="@+id/text_shots_away"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="3" android:text="3"
android:textSize="24sp" android:textSize="28sp"
android:textStyle="bold" android:textColor="@color/accent"
android:textColor="@color/secondary_color"
android:layout_marginStart="32dp"/> android:layout_marginStart="32dp"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@@ -1,33 +1,61 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/background_light"> android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.livegames.LiveGamesFragment">
<androidx.recyclerview.widget.RecyclerView <!-- Section Header -->
android:id="@+id/recycler_live_games" <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="8dp"
android:clipToPadding="false"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/text_no_games"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Não há jogos ao vivo no momento" android:orientation="vertical"
android:textSize="16sp" android:padding="16dp">
android:textColor="@color/text_secondary"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="JOGOS EM DIRETO"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Acompanha todas as partidas em tempo real."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_live_games"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="4dp"
android:clipToPadding="false"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<TextView
android:id="@+id/text_no_games"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Não há jogos ao vivo de momento"
android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="15sp"
android:textColor="@color/text_2"
android:visibility="gone" />
</FrameLayout>
</LinearLayout>

View File

@@ -1,22 +1,45 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#F5F5F5" android:orientation="vertical"
android:background="@color/bg_base"
tools:context=".ui.news.NewsFragment"> tools:context=".ui.news.NewsFragment">
<!-- Section Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="ÍNICIO"
android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="As últimas notícias e novidades da AFAVCD."
android:textColor="@color/text_2"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_news" android:id="@+id/recycler_news"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="match_parent"
android:clipToPadding="false" android:clipToPadding="false"
android:paddingTop="8dp" android:paddingTop="4dp"
android:paddingBottom="16dp" android:paddingBottom="16dp" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/white" android:background="@color/bg_base"
tools:context=".ui.news.NewsDetailFragment"> tools:context=".ui.news.NewsDetailFragment">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
@@ -16,7 +16,7 @@
<com.google.android.material.appbar.CollapsingToolbarLayout <com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="250dp" android:layout_height="250dp"
app:contentScrim="?attr/colorPrimary" app:contentScrim="@color/bg_surface"
app:layout_scrollFlags="scroll|exitUntilCollapsed"> app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView <ImageView
@@ -31,7 +31,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#44000000" /> <!-- Gradiente escuro para garantir que a barra é visível se necessário --> android:background="#66000000" />
</com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.CollapsingToolbarLayout>
@@ -47,16 +47,17 @@
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="24dp"> android:padding="20dp">
<TextView <TextView
android:id="@+id/text_news_detail_date" android:id="@+id/text_news_detail_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="12dp" android:layout_marginBottom="8dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Data" android:text="Data"
android:textColor="#888888" android:textColor="@color/text_3"
android:textSize="14sp" android:textSize="11sp"
android:textStyle="bold" android:textStyle="bold"
android:textAllCaps="true" android:textAllCaps="true"
android:letterSpacing="0.05" /> android:letterSpacing="0.05" />
@@ -65,59 +66,79 @@
android:id="@+id/text_news_detail_title" android:id="@+id/text_news_detail_title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Título Completo da Notícia" android:text="Título Completo da Notícia"
android:textColor="#1F2937" android:textColor="@color/text_1"
android:textSize="26sp" android:textSize="22sp"
android:textStyle="bold" android:textStyle="bold"
android:lineSpacingExtra="6dp" /> android:lineSpacingExtra="4dp" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:layout_marginVertical="20dp" android:layout_marginVertical="16dp"
android:background="#EEEEEE" /> android:background="@color/border" />
<TextView <TextView
android:id="@+id/text_news_detail_body" android:id="@+id/text_news_detail_body"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="100dp" android:layout_marginBottom="100dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Corpo da notícia completo..." android:text="Corpo da notícia completo..."
android:textColor="#4B5563" android:textColor="@color/text_2"
android:textSize="16sp" android:textSize="14sp"
android:lineSpacingExtra="8dp" /> android:lineSpacingExtra="6dp" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
<!-- Bottom Navigation Bar with dark background -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:orientation="horizontal" android:orientation="vertical">
android:padding="16dp"
android:background="#99FFFFFF">
<com.google.android.material.button.MaterialButton <View
android:id="@+id/btn_prev_news" android:layout_width="match_parent"
style="@style/Widget.MaterialComponents.Button.TextButton" android:layout_height="1dp"
android:layout_width="0dp" android:background="@color/border" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:orientation="horizontal"
android:text="Anterior" android:padding="12dp"
app:icon="@android:drawable/ic_media_previous" /> android:background="@color/bg_surface">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_next_news" android:id="@+id/btn_prev_news"
style="@style/Widget.MaterialComponents.Button.TextButton" style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="Próxima" android:fontFamily="@font/font_ibm_plex_sans"
app:icon="@android:drawable/ic_media_next" android:text="Anterior"
app:iconGravity="end" /> android:textColor="@color/brand"
app:icon="@android:drawable/ic_media_previous"
app:iconTint="@color/brand" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_next_news"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Próxima"
android:textColor="@color/brand"
app:icon="@android:drawable/ic_media_next"
app:iconTint="@color/brand"
app:iconGravity="end" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -5,22 +5,24 @@
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/white" android:background="@color/bg_base"
tools:context=".ui.clubs.PlayerDetailFragment"> tools:context=".ui.clubs.PlayerDetailFragment">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="24dp"> android:padding="16dp">
<!-- Player Photo (Circular) --> <!-- Player Photo (Circular) -->
<androidx.cardview.widget.CardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardLogo" android:id="@+id/cardLogo"
android:layout_width="200dp" android:layout_width="140dp"
android:layout_height="200dp" android:layout_height="140dp"
app:cardCornerRadius="100dp" app:cardCornerRadius="70dp"
app:cardElevation="8dp" app:cardElevation="0dp"
app:cardBackgroundColor="@color/white" app:strokeWidth="2dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_elevated"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -31,125 +33,211 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:padding="0dp"
tools:src="@drawable/ic_menu_camera"/> tools:src="@drawable/ic_menu_camera"/>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>
<!-- JOGADOR Label --> <!-- JOGADOR Label -->
<TextView <TextView
android:id="@+id/label_player" android:id="@+id/label_player"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="JOGADOR:" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="14sp" android:text="JOGADOR"
android:textColor="#616161" android:textSize="10sp"
android:layout_marginTop="32dp" android:textColor="@color/text_3"
android:letterSpacing="0.08"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/cardLogo" app:layout_constraintTop_toBottomOf="@id/cardLogo"
app:layout_constraintStart_toStartOf="parent"/> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- Player Name --> <!-- Player Name -->
<TextView <TextView
android:id="@+id/text_detail_player_name" android:id="@+id/text_detail_player_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
tools:text="João Carlos Pinto Castro" tools:text="João Carlos Pinto Castro"
android:textSize="28sp" android:textSize="26sp"
android:textStyle="bold" android:textColor="@color/text_1"
android:textColor="#0D47A1" android:letterSpacing="0.04"
android:gravity="center"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
app:layout_constraintTop_toBottomOf="@id/label_player" app:layout_constraintTop_toBottomOf="@id/label_player"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/> app:layout_constraintEnd_toEndOf="parent"/>
<!-- Birthplace Section --> <!-- Info Card -->
<LinearLayout <com.google.android.material.card.MaterialCardView
android:id="@+id/layout_birthplace" android:id="@+id/card_player_info"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_marginTop="20dp"
android:gravity="center_vertical" app:cardCornerRadius="12dp"
android:layout_marginTop="24dp" app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border"
app:cardBackgroundColor="@color/bg_surface"
app:layout_constraintTop_toBottomOf="@id/text_detail_player_name" app:layout_constraintTop_toBottomOf="@id/text_detail_player_name"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_location"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<LinearLayout <LinearLayout
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:padding="16dp">
<TextView <!-- Birthplace -->
android:layout_width="wrap_content" <LinearLayout
android:id="@+id/layout_birthplace"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="NATURALIDADE:" android:orientation="horizontal"
android:textSize="12sp" android:gravity="center_vertical"
android:textColor="#616161"/> android:paddingVertical="10dp">
<TextView <ImageView
android:id="@+id/text_detail_birthplace" android:layout_width="32dp"
android:layout_width="wrap_content" android:layout_height="32dp"
android:src="@drawable/ic_location"
app:tint="@color/danger"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#1aef4444"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="NATURALIDADE"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_birthplace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
tools:text="Vila do Conde"
android:textSize="14sp"
android:textColor="@color/text_1"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"/>
<!-- Birth Date -->
<LinearLayout
android:id="@+id/layout_birthdate"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="Vila do Conde" android:orientation="horizontal"
android:textSize="16sp" android:gravity="center_vertical"
android:textColor="#263238" android:paddingVertical="10dp">
android:textStyle="bold"/>
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_calendar"
app:tint="@color/accent"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#1a3b82f6"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="DATA DE NASCIMENTO"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
tools:text="1993-03-17"
android:textSize="14sp"
android:textColor="@color/text_1"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"/>
<!-- Total Goals -->
<LinearLayout
android:id="@+id/layout_total_goals"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingVertical="10dp">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_soccer"
app:tint="@color/brand"
android:background="@drawable/circle_edit_background"
android:backgroundTint="@color/brand_dim"
android:padding="6dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="12dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="TOTAL DE GOLOS"
android:textSize="9sp"
android:textColor="@color/text_3"
android:letterSpacing="0.05"/>
<TextView
android:id="@+id/text_detail_total_goals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="A carregar..."
android:textSize="14sp"
android:textColor="@color/brand"
android:textStyle="bold"
android:layout_marginTop="2dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </com.google.android.material.card.MaterialCardView>
<!-- Birth Date Section -->
<LinearLayout
android:id="@+id/layout_birthdate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/layout_birthplace"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/ic_calendar"
app:tint="#455A64"
android:background="@drawable/circle_edit_background"
android:backgroundTint="#ECEFF1"
android:padding="8dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DATA DE NASCIMENTO:"
android:textSize="12sp"
android:textColor="#616161"/>
<TextView
android:id="@+id/text_detail_birthdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="1993-03-17"
android:textSize="16sp"
android:textColor="#263238"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>

View File

@@ -5,66 +5,90 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:background="#F5F7FA" android:background="@color/bg_base"
tools:context=".ui.topscorers.TopScorersFragment"> tools:context=".ui.topscorers.TopScorersFragment">
<!-- Title and Category Toggle --> <!-- Section Header -->
<com.google.android.material.card.MaterialCardView <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardElevation="4dp" android:orientation="vertical"
app:cardCornerRadius="0dp"> android:padding="16dp">
<LinearLayout <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:fontFamily="@font/font_bebas_neue"
android:padding="16dp" android:text="MELHORES MARCADORES"
android:gravity="center"> android:textSize="28sp"
android:textColor="@color/text_1"
android:letterSpacing="0.04" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Melhores Marcadores" android:fontFamily="@font/font_ibm_plex_sans"
android:textSize="20sp" android:text="Tabela de melhores marcadores da época."
android:textColor="#1A237E" android:textColor="@color/text_2"
android:textStyle="bold" android:textSize="12sp"
android:layout_marginBottom="12dp" /> android:layout_marginTop="4dp" />
</LinearLayout>
<com.google.android.material.button.MaterialButtonToggleGroup <!-- Category Toggle -->
android:id="@+id/toggleGroupCategory" <com.google.android.material.button.MaterialButtonToggleGroup
android:layout_width="wrap_content" android:id="@+id/toggleGroupCategory"
android:layout_height="wrap_content" android:layout_width="match_parent"
app:singleSelection="true" android:layout_height="wrap_content"
app:checkedButton="@+id/btn_seniores"> android:layout_marginHorizontal="16dp"
android:layout_marginBottom="14dp"
app:singleSelection="true"
app:selectionRequired="true"
app:checkedButton="@+id/btn_seniores">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_seniores" android:id="@+id/btn_seniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="0dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="Seniores" /> android:fontFamily="@font/font_ibm_plex_sans"
android:text="Seniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_juniores" android:id="@+id/btn_juniores"
style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="0dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="Juniores" /> android:fontFamily="@font/font_ibm_plex_sans"
android:text="Juniores"
android:textColor="@color/toggle_text_color"
android:textSize="12sp"
android:textStyle="bold"
app:backgroundTint="@color/toggle_bg_color"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:cornerRadius="8dp"
android:textAllCaps="false" />
</com.google.android.material.button.MaterialButtonToggleGroup>
</com.google.android.material.button.MaterialButtonToggleGroup> <!-- Empty State / Loading -->
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- Empty State -->
<TextView <TextView
android:id="@+id/text_empty_state" android:id="@+id/text_empty_state"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="A carregar dados..." android:text="A carregar dados..."
android:fontFamily="@font/font_ibm_plex_sans"
android:textColor="@color/text_2"
android:textAlignment="center" android:textAlignment="center"
android:gravity="center" android:gravity="center"
android:textSize="16sp" android:textSize="15sp"
android:visibility="gone" /> android:visibility="gone" />
<!-- RecyclerView --> <!-- RecyclerView -->
@@ -72,7 +96,7 @@
android:id="@+id/recycler_top_scorers" android:id="@+id/recycler_top_scorers"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="8dp" android:paddingTop="4dp"
android:paddingBottom="16dp" android:paddingBottom="16dp"
android:clipToPadding="false" android:clipToPadding="false"
tools:listitem="@layout/item_top_scorer" /> tools:listitem="@layout/item_top_scorer" />

View File

@@ -1,51 +1,48 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.card.MaterialCardView 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="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="6dp" android:layout_marginVertical="6dp"
app:cardBackgroundColor="@color/surface_card" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp"> app:cardElevation="0dp"
app:strokeWidth="1dp"
app:strokeColor="@color/border">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="16dp"> android:padding="16dp">
<androidx.cardview.widget.CardView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/card_logo" android:id="@+id/image_club_logo"
android:layout_width="50dp" android:layout_width="48dp"
android:layout_height="50dp" android:layout_height="48dp"
app:cardCornerRadius="25dp" android:padding="6dp"
app:cardElevation="0dp" android:background="@color/bg_elevated"
app:cardBackgroundColor="#F0F0F0" app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/ic_menu_gallery" />
<ImageView
android:id="@+id/image_club_logo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery"
android:padding="8dp"/>
</androidx.cardview.widget.CardView>
<TextView <TextView
android:id="@+id/text_club_name" android:id="@+id/text_club_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Club Name" android:text="Club Name"
android:textColor="@color/text_primary" android:textColor="@color/text_1"
android:textSize="17sp" android:textSize="15sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/text_club_stadium" app:layout_constraintBottom_toTopOf="@+id/text_club_stadium"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/card_logo" app:layout_constraintStart_toEndOf="@+id/image_club_logo"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"/> app:layout_constraintVertical_chainStyle="packed"/>
@@ -54,13 +51,14 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Stadium Name" android:text="Stadium Name"
android:textColor="@color/text_secondary" android:textColor="@color/text_2"
android:textSize="14sp" android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/text_club_name" app:layout_constraintStart_toStartOf="@+id/text_club_name"
app:layout_constraintTop_toBottomOf="@+id/text_club_name" /> app:layout_constraintTop_toBottomOf="@+id/text_club_name" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>

View File

@@ -1,85 +1,199 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.card.MaterialCardView 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="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp" android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/surface_card" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp"> app:cardElevation="0dp"
app:strokeWidth="2dp"
app:strokeColor="@color/brand">
<androidx.constraintlayout.widget.ConstraintLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="20dp"> android:orientation="vertical">
<TextView <!-- Top bar: Live status -->
android:id="@+id/text_game_time" <LinearLayout
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="45'" android:background="@color/brand_dim"
android:textColor="@color/live_time" android:orientation="horizontal"
android:textSize="14sp" android:gravity="center_vertical"
android:textStyle="bold" android:paddingHorizontal="14dp"
app:layout_constraintEnd_toEndOf="parent" android:paddingVertical="8dp">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="PARTIDA AO VIVO"
android:textColor="@color/brand"
android:textSize="10sp"
android:textStyle="bold"
android:letterSpacing="0.08" />
<!-- Live Pill Badge -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_circle_green"
android:paddingHorizontal="8dp"
android:paddingVertical="2dp">
<View
android:id="@+id/live_indicator"
android:layout_width="6dp"
android:layout_height="6dp"
android:background="@drawable/bg_circle_light_gray"
android:layout_marginEnd="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIRETO"
android:textColor="@color/bg_base"
android:textSize="9sp"
android:fontFamily="@font/font_ibm_plex_mono"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<View <View
android:id="@+id/live_indicator" android:layout_width="match_parent"
android:layout_width="8dp" android:layout_height="1dp"
android:layout_height="8dp" android:background="@color/border" />
android:layout_marginEnd="6dp"
android:background="@drawable/shape_circle_live"
app:layout_constraintBottom_toBottomOf="@+id/text_game_time"
app:layout_constraintEnd_toStartOf="@+id/text_game_time"
app:layout_constraintTop_toTopOf="@+id/text_game_time" />
<TextView <!-- Body: Teams and Scores -->
android:id="@+id/text_home_team" <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:orientation="vertical"
android:gravity="center" android:padding="16dp"
android:text="Home Team" android:gravity="center">
android:textColor="@color/text_primary"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/text_score"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_game_time" />
<TextView <!-- Time Badge -->
android:id="@+id/text_score" <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp" android:orientation="horizontal"
android:background="@drawable/shape_score_bg" android:gravity="center"
android:paddingHorizontal="16dp" android:layout_marginBottom="12dp">
android:paddingVertical="6dp"
android:text="2 - 1"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/text_home_team"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/text_home_team" />
<TextView <TextView
android:id="@+id/text_away_team" android:id="@+id/text_game_time"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:fontFamily="@font/font_ibm_plex_mono"
android:text="Away Team" android:text="45'"
android:textColor="@color/text_primary" android:textColor="@color/brand"
android:textSize="16sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold" />
app:layout_constraintBottom_toBottomOf="@+id/text_home_team" </LinearLayout>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text_score"
app:layout_constraintTop_toTopOf="@+id/text_home_team" />
</androidx.constraintlayout.widget.ConstraintLayout> <LinearLayout
</androidx.cardview.widget.CardView> android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<!-- Home Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<com.google.android.material.imageview.ShapeableImageView
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
<TextView
android:id="@+id/text_home_team"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="J.U. Mosteiró"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:maxLines="2"
android:ellipsize="end" />
</LinearLayout>
<!-- Score Section -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginHorizontal="8dp"
android:orientation="horizontal">
<TextView
android:id="@+id/text_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="2 - 1"
android:textColor="@color/brand"
android:textSize="36sp"
android:letterSpacing="0.04" />
</LinearLayout>
<!-- Away Team -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:orientation="vertical">
<com.google.android.material.imageview.ShapeableImageView
android:layout_width="44dp"
android:layout_height="44dp"
android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" />
<TextView
android:id="@+id/text_away_team"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="SC Espinho"
android:textColor="@color/text_1"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:maxLines="2"
android:ellipsize="end" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

View File

@@ -4,73 +4,78 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="10dp" android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/white" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
app:cardElevation="6dp" app:cardElevation="0dp"
app:strokeWidth="0dp"> app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout <LinearLayout
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">
<!-- Header: Date, Time and Stadium --> <!-- Header: Date, Time and Stadium -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:background="@color/bg_elevated"
android:orientation="vertical" android:orientation="horizontal"
android:layout_marginBottom="12dp"> android:gravity="center_vertical"
android:paddingHorizontal="14dp"
android:paddingVertical="10dp">
<TextView <TextView
android:id="@+id/text_match_info" android:id="@+id/text_match_info"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="29/03/2026 10:00" android:text="29/03/2026 10:00"
android:textColor="#1976D2" android:textColor="@color/text_2"
android:textSize="12sp" android:textSize="11sp" />
android:textStyle="bold"
android:letterSpacing="0.05" />
<TextView <TextView
android:id="@+id/text_match_stadium" android:id="@+id/text_match_stadium"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Campo:Guilhabreu" android:fontFamily="@font/font_ibm_plex_mono"
android:textColor="#5C6BC0" android:text="Campo: Guilhabreu"
android:textSize="11sp" android:textColor="@color/text_3"
android:layout_marginTop="2dp" /> android:textSize="10sp" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="80dp" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="#E0E0E0" android:background="@color/border" />
android:layout_gravity="center"
android:layout_marginBottom="16dp" />
<!-- Teams and Scores --> <!-- Body: Teams and Scores -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal"
android:padding="16dp">
<!-- Home Team --> <!-- Home Team -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1.2"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_home_logo" android:id="@+id/img_home_logo"
android:layout_width="65dp" android:layout_width="44dp"
android:layout_height="65dp" android:layout_height="44dp"
android:padding="4dp" android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside" android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" /> android:src="@drawable/ic_club_placeholder" />
@@ -78,10 +83,11 @@
android:id="@+id/text_home_team" android:id="@+id/text_home_team"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="J.U. Mosteiró" android:text="J.U. Mosteiró"
android:textColor="#333333" android:textColor="@color/text_1"
android:textSize="13sp" android:textSize="12sp"
android:textStyle="bold" android:textStyle="bold"
android:gravity="center" android:gravity="center"
android:maxLines="2" android:maxLines="2"
@@ -100,40 +106,47 @@
android:id="@+id/text_home_score" android:id="@+id/text_home_score"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="2" android:text="2"
android:textColor="#1A237E" android:textColor="@color/text_1"
android:textSize="34sp" android:textSize="36sp" />
android:textStyle="bold" />
<View <TextView
android:layout_width="2dp" android:layout_width="wrap_content"
android:layout_height="40dp" android:layout_height="wrap_content"
android:background="#EEEEEE" android:fontFamily="@font/font_ibm_plex_sans"
android:layout_marginHorizontal="12dp" /> android:text=":"
android:textColor="@color/text_3"
android:textSize="18sp"
android:layout_marginHorizontal="10dp" />
<TextView <TextView
android:id="@+id/text_away_score" android:id="@+id/text_away_score"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="4" android:text="4"
android:textColor="#1A237E" android:textColor="@color/text_1"
android:textSize="34sp" android:textSize="36sp" />
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
<!-- Away Team --> <!-- Away Team -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1.2"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_away_logo" android:id="@+id/img_away_logo"
android:layout_width="65dp" android:layout_width="44dp"
android:layout_height="65dp" android:layout_height="44dp"
android:padding="4dp" android:padding="4dp"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:scaleType="centerInside" android:scaleType="centerInside"
android:src="@drawable/ic_club_placeholder" /> android:src="@drawable/ic_club_placeholder" />
@@ -141,10 +154,11 @@
android:id="@+id/text_away_team" android:id="@+id/text_away_team"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="G.D.C. Rio Mau" android:text="G.D.C. Rio Mau"
android:textColor="#333333" android:textColor="@color/text_1"
android:textSize="13sp" android:textSize="12sp"
android:textStyle="bold" android:textStyle="bold"
android:gravity="center" android:gravity="center"
android:maxLines="2" android:maxLines="2"
@@ -153,16 +167,25 @@
</LinearLayout> </LinearLayout>
<!-- Match Report Button --> <!-- Match Report Button (Footer style) -->
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btn_match_report" android:id="@+id/btn_match_report"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="38dp"
android:layout_marginTop="16dp" android:layout_marginHorizontal="14dp"
android:layout_marginBottom="14dp"
android:backgroundTint="@color/bg_elevated"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Ficha de Jogo" android:text="Ficha de Jogo"
android:visibility="gone" android:textColor="@color/text_2"
app:cornerRadius="8dp" /> android:textSize="11sp"
android:textStyle="bold"
android:insetTop="0dp"
android:insetBottom="0dp"
app:cornerRadius="6dp"
android:visibility="gone" />
</LinearLayout> </LinearLayout>

View File

@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.card.MaterialCardView 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"
xmlns:tools="http://schemas.android.com/tools"
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:layout_marginBottom="12dp"
app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="4dp" app:cardElevation="0dp"
app:contentPadding="0dp"> app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -18,12 +21,18 @@
android:id="@+id/text_matchday_name" android:id="@+id/text_matchday_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/primary_light" android:background="@color/bg_elevated"
android:textColor="@color/white" android:fontFamily="@font/font_bebas_neue"
android:textColor="@color/text_1"
android:padding="12dp" android:padding="12dp"
android:text="Jornada 1" android:text="Jornada 1"
android:textStyle="bold" android:textSize="16sp"
android:textSize="16sp" /> android:letterSpacing="0.04" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border" />
<!-- Matches List --> <!-- Matches List -->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
@@ -32,8 +41,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:nestedScrollingEnabled="false" android:nestedScrollingEnabled="false"
tools:itemCount="3" tools:itemCount="3"
tools:listitem="@layout/item_match" xmlns:tools="http://schemas.android.com/tools"/> tools:listitem="@layout/item_match" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </com.google.android.material.card.MaterialCardView>

View File

@@ -4,11 +4,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="10dp" android:layout_marginVertical="8dp"
app:cardBackgroundColor="@color/white" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="20dp" app:cardCornerRadius="12dp"
app:cardElevation="6dp" app:cardElevation="0dp"
app:strokeWidth="0dp"> app:strokeWidth="1dp"
app:strokeColor="@color/border">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -17,20 +18,18 @@
<ImageView <ImageView
android:id="@+id/img_news" android:id="@+id/img_news"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="220dp" android:layout_height="180dp"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery" android:src="@drawable/ic_menu_gallery"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" /> app:layout_constraintEnd_toEndOf="parent" />
<!-- Optional semi-transparent overlay to make the image pop or just raw image -->
<LinearLayout <LinearLayout
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="20dp" android:padding="16dp"
app:layout_constraintTop_toBottomOf="@id/img_news" app:layout_constraintTop_toBottomOf="@id/img_news"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toBottomOf="parent">
@@ -38,10 +37,11 @@
android:id="@+id/text_news_date" android:id="@+id/text_news_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="8dp" android:layout_marginBottom="6dp"
android:fontFamily="@font/font_ibm_plex_mono"
android:text="Data" android:text="Data"
android:textColor="#888888" android:textColor="@color/text_3"
android:textSize="12sp" android:textSize="10sp"
android:textStyle="bold" android:textStyle="bold"
android:textAllCaps="true" android:textAllCaps="true"
android:letterSpacing="0.05" /> android:letterSpacing="0.05" />
@@ -50,24 +50,26 @@
android:id="@+id/text_news_title" android:id="@+id/text_news_title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Título da Notícia" android:text="Título da Notícia"
android:textColor="#1F2937" android:textColor="@color/text_1"
android:textSize="22sp" android:textSize="18sp"
android:textStyle="bold" android:textStyle="bold"
android:lineSpacingExtra="4dp" android:lineSpacingExtra="2dp"
android:maxLines="3" android:maxLines="2"
android:ellipsize="end" /> android:ellipsize="end" />
<TextView <TextView
android:id="@+id/text_news_body" android:id="@+id/text_news_body"
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="8dp"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Resumo da notícia..." android:text="Resumo da notícia..."
android:textColor="#4B5563" android:textColor="@color/text_2"
android:textSize="15sp" android:textSize="13sp"
android:lineSpacingExtra="6dp" android:lineSpacingExtra="4dp"
android:maxLines="4" android:maxLines="3"
android:ellipsize="end" /> android:ellipsize="end" />
</LinearLayout> </LinearLayout>

View File

@@ -1,28 +1,35 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="16dp" android:padding="14dp"
android:gravity="center_vertical"> android:gravity="center_vertical"
android:background="@color/bg_surface">
<ImageView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_player_icon" android:id="@+id/image_player_icon"
android:layout_width="48dp" android:layout_width="42dp"
android:layout_height="48dp" android:layout_height="42dp"
android:src="@drawable/ic_menu_camera" android:src="@drawable/ic_menu_camera"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:contentDescription="Player Icon" android:contentDescription="Player Icon"
android:layout_marginEnd="16dp"/> android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:layout_marginEnd="14dp"/>
<TextView <TextView
android:id="@+id/text_player_name" android:id="@+id/text_player_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="Player Name" android:text="Player Name"
android:textSize="16sp" android:textSize="14sp"
android:textColor="@color/black" android:textColor="@color/text_1"
android:textStyle="bold" /> android:textStyle="bold" />
</LinearLayout> </LinearLayout>

View File

@@ -1,108 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:background="@color/bg_surface">
<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="horizontal"
android:paddingVertical="10dp" android:paddingVertical="12dp"
android:paddingHorizontal="8dp" android:paddingHorizontal="12dp"
android:gravity="center_vertical" android:gravity="center_vertical">
android:background="?attr/selectableItemBackground">
<!-- Position Badge -->
<TextView <TextView
android:id="@+id/text_position" android:id="@+id/text_position"
android:layout_width="24dp" android:layout_width="26dp"
android:layout_height="24dp" android:layout_height="26dp"
android:layout_marginHorizontal="2dp"
android:gravity="center" android:gravity="center"
android:text="1" android:text="1"
android:textColor="@color/white" android:textColor="@color/bg_base"
android:textSize="11sp" android:textSize="11sp"
android:textStyle="bold" android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono"
android:background="@drawable/bg_circle_green" /> android:background="@drawable/bg_circle_green" />
<ImageView <!-- Club Logo -->
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image_logo" android:id="@+id/image_logo"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginHorizontal="2dp" android:layout_marginHorizontal="6dp"
android:scaleType="centerInside" android:scaleType="centerInside"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:src="@mipmap/ic_launcher" /> android:src="@mipmap/ic_launcher" />
<!-- Club Name -->
<TextView <TextView
android:id="@+id/text_team_name" android:id="@+id/text_team_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="Team Name" android:text="Team Name"
android:textColor="@color/text_primary" android:textColor="@color/text_1"
android:textSize="13sp" android:textSize="13sp"
android:textStyle="bold" android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_sans"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" /> android:maxLines="1" />
<!-- J (Games played) -->
<TextView <TextView
android:id="@+id/text_played" android:id="@+id/text_played"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="0" android:text="0"
android:textColor="@color/text_secondary" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="12sp" /> android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- V (Wins) -->
<TextView <TextView
android:id="@+id/text_won" android:id="@+id/text_won"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="0" android:text="0"
android:textColor="@color/text_secondary" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="12sp" /> android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- E (Draws) -->
<TextView <TextView
android:id="@+id/text_drawn" android:id="@+id/text_drawn"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="0" android:text="0"
android:textColor="@color/text_secondary" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="12sp" /> android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- D (Losses) -->
<TextView <TextView
android:id="@+id/text_lost" android:id="@+id/text_lost"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="0" android:text="0"
android:textColor="@color/text_secondary" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="12sp" /> android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- DG (Goal Diff) -->
<TextView <TextView
android:id="@+id/text_goal_diff" android:id="@+id/text_goal_diff"
android:layout_width="26dp" android:layout_width="26dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="0" android:text="0"
android:textColor="@color/text_secondary" android:fontFamily="@font/font_ibm_plex_mono"
android:textSize="12sp" /> android:textColor="@color/text_2"
android:textSize="11sp" />
<!-- Pts -->
<TextView <TextView
android:id="@+id/text_points" android:id="@+id/text_points"
android:layout_width="32dp" android:layout_width="32dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="end"
android:text="0" android:text="0"
android:textStyle="bold" android:fontFamily="@font/font_bebas_neue"
android:textColor="@color/text_primary" android:textColor="@color/brand"
android:textSize="13sp" /> android:textSize="18sp" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:background="#F5F5F5"/> android:background="@color/border"/>
</LinearLayout> </LinearLayout>

View File

@@ -5,10 +5,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp" android:layout_marginHorizontal="16dp"
android:layout_marginVertical="6dp" android:layout_marginVertical="6dp"
app:cardBackgroundColor="@color/white" app:cardBackgroundColor="@color/bg_surface"
app:cardCornerRadius="12dp" app:cardCornerRadius="12dp"
app:cardElevation="2dp" app:cardElevation="0dp"
app:strokeWidth="0dp"> app:strokeWidth="1dp"
app:strokeColor="@color/border">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -20,24 +21,28 @@
<!-- Position Badge --> <!-- Position Badge -->
<TextView <TextView
android:id="@+id/text_position" android:id="@+id/text_position"
android:layout_width="32dp" android:layout_width="28dp"
android:layout_height="32dp" android:layout_height="28dp"
android:background="@drawable/bg_circle_light_gray" android:background="@drawable/bg_circle_light_gray"
android:text="1" android:text="1"
android:textColor="#333333" android:textColor="@color/text_1"
android:textSize="14sp" android:textSize="12sp"
android:textStyle="bold" android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_mono"
android:gravity="center" android:gravity="center"
android:layout_marginEnd="12dp" /> android:layout_marginEnd="12dp" />
<!-- Player Photo --> <!-- Player Photo -->
<com.google.android.material.imageview.ShapeableImageView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_player_photo" android:id="@+id/img_player_photo"
android:layout_width="48dp" android:layout_width="42dp"
android:layout_height="48dp" android:layout_height="42dp"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:src="@drawable/ic_menu_gallery" android:src="@drawable/ic_menu_gallery"
android:background="@color/bg_elevated"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent" app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
android:layout_marginEnd="12dp" /> android:layout_marginEnd="12dp" />
<!-- Player & Club Details --> <!-- Player & Club Details -->
@@ -52,9 +57,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Nome do Jogador" android:text="Nome do Jogador"
android:textColor="#1A237E" android:textColor="@color/text_1"
android:textSize="16sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:fontFamily="@font/font_ibm_plex_sans"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end" />
@@ -65,11 +71,12 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_marginTop="4dp"> android:layout_marginTop="4dp">
<ImageView <com.google.android.material.imageview.ShapeableImageView
android:id="@+id/img_club_logo" android:id="@+id/img_club_logo"
android:layout_width="16dp" android:layout_width="16dp"
android:layout_height="16dp" android:layout_height="16dp"
android:src="@drawable/ic_menu_gallery" android:src="@drawable/ic_menu_gallery"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
android:layout_marginEnd="6dp" /> android:layout_marginEnd="6dp" />
<TextView <TextView
@@ -77,8 +84,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Nome do Clube" android:text="Nome do Clube"
android:textColor="#757575" android:textColor="@color/text_2"
android:textSize="13sp" android:textSize="11sp"
android:fontFamily="@font/font_ibm_plex_sans"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" /> android:ellipsize="end" />
</LinearLayout> </LinearLayout>
@@ -89,7 +97,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:gravity="center" android:gravity="end"
android:paddingStart="12dp"> android:paddingStart="12dp">
<TextView <TextView
@@ -97,16 +105,18 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="15" android:text="15"
android:textColor="#FF6D00" android:textColor="@color/brand"
android:textSize="22sp" android:textSize="26sp"
android:textStyle="bold" /> android:fontFamily="@font/font_bebas_neue"
android:lineHeight="26sp" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Golos" android:text="Golos"
android:textColor="#9E9E9E" android:textColor="@color/text_3"
android:textSize="11sp" android:textSize="9sp"
android:fontFamily="@font/font_ibm_plex_mono"
android:textAllCaps="true" /> android:textAllCaps="true" />
</LinearLayout> </LinearLayout>

View File

@@ -1,50 +1,95 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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="200dp" android:layout_height="wrap_content"
android:background="@drawable/ic_header_login_bg" android:background="@color/bg_surface"
android:gravity="top" android:gravity="start"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingStart="20dp"
android:paddingTop="@dimen/activity_vertical_margin" android:paddingEnd="20dp"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingBottom="20dp"
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="56dp"
android:theme="@style/ThemeOverlay.AppCompat.Light"> android:theme="@style/Theme.VdcScore">
<androidx.cardview.widget.CardView <!-- VDC Score Brand Header -->
android:layout_width="80dp" <LinearLayout
android:layout_height="80dp" android:layout_width="match_parent"
android:layout_marginTop="10dp" android:layout_height="wrap_content"
app:cardCornerRadius="40dp" android:orientation="horizontal"
app:cardBackgroundColor="@color/white" android:gravity="center_vertical"
app:cardElevation="4dp"> android:layout_marginBottom="12dp">
<ImageView <View
android:layout_width="38dp"
android:layout_height="38dp"
android:background="@drawable/brand_icon_bg" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:fontFamily="@font/font_bebas_neue"
android:text="VDC"
android:textColor="@color/text_1"
android:textSize="24sp"
android:letterSpacing="0.08" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/font_bebas_neue"
android:text="Score"
android:textColor="@color/brand"
android:textSize="24sp"
android:letterSpacing="0.08" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/border"
android:layout_marginBottom="12dp" />
<!-- User Profile Area -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/imageView" android:id="@+id/imageView"
android:layout_width="match_parent" android:layout_width="54dp"
android:layout_height="match_parent" android:layout_height="54dp"
android:contentDescription="@string/nav_header_desc"
android:scaleType="centerCrop" android:scaleType="centerCrop"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent"
app:strokeColor="@color/border"
app:strokeWidth="1dp"
app:srcCompat="@mipmap/ic_launcher_round" /> app:srcCompat="@mipmap/ic_launcher_round" />
</androidx.cardview.widget.CardView>
<TextView <LinearLayout
android:id="@+id/textViewName" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical"
android:paddingTop="4dp" android:layout_marginStart="12dp">
android:text="@string/nav_header_title"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView <TextView
android:id="@+id/textViewSubtitle" android:id="@+id/textViewName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/font_ibm_plex_sans"
android:text="@string/nav_header_title"
android:textColor="@color/text_1"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="1dp"
android:text="@string/nav_header_subtitle" android:background="@color/border"
android:textColor="@color/background_light" android:layout_marginTop="16dp" />
android:textSize="14sp" />
</LinearLayout> </LinearLayout>

View File

@@ -6,31 +6,31 @@
<group android:checkableBehavior="single"> <group android:checkableBehavior="single">
<item <item
android:id="@+id/nav_news" android:id="@+id/nav_news"
android:icon="@android:drawable/ic_menu_info_details" android:icon="@drawable/ic_nav_news"
android:title="@string/menu_news" /> android:title="@string/menu_news" />
<item <item
android:id="@+id/nav_home" android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_camera" android:icon="@drawable/ic_nav_classification"
android:title="@string/menu_home" /> android:title="@string/menu_home" />
<item <item
android:id="@+id/nav_gallery" android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery" android:icon="@drawable/ic_nav_jornadas"
android:title="@string/menu_gallery" /> android:title="@string/menu_gallery" />
<item <item
android:id="@+id/nav_live_games" android:id="@+id/nav_live_games"
android:icon="@android:drawable/ic_menu_view" android:icon="@drawable/ic_nav_live"
android:title="@string/menu_live_games" /> android:title="@string/menu_live_games" />
<item <item
android:id="@+id/nav_clubs" android:id="@+id/nav_clubs"
android:icon="@android:drawable/ic_menu_my_calendar" android:icon="@drawable/ic_nav_clubs"
android:title="@string/menu_clubs" /> android:title="@string/menu_clubs" />
<item
android:id="@+id/nav_top_scorers"
android:icon="@drawable/ic_nav_scorers"
android:title="@string/menu_top_scorers" />
<item <item
android:id="@+id/nav_definicoes" android:id="@+id/nav_definicoes"
android:icon="@android:drawable/ic_menu_preferences" android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/menu_definicoes" /> android:title="@string/menu_definicoes" />
<item
android:id="@+id/nav_top_scorers"
android:icon="@android:drawable/btn_star"
android:title="@string/menu_top_scorers" />
</group> </group>
</menu> </menu>

View File

@@ -3,17 +3,20 @@
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your dark theme here. --> <!-- Customize your dark theme here. -->
<!-- Force White Status Bar even in Dark Mode --> <item name="colorPrimary">@color/brand</item>
<item name="android:statusBarColor">@color/white</item> <item name="colorOnPrimary">@color/bg_base</item>
<item name="android:windowLightStatusBar">true</item> <item name="colorSecondary">@color/bg_surface</item>
<item name="colorOnSecondary">@color/text_1</item>
<item name="android:windowBackground">@color/bg_base</item>
<!-- Status Bar Settings (Pure Dark Mode) -->
<item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="colorPrimary">@color/primary_color</item> <item name="android:textColorPrimary">@color/text_1</item>
<item name="colorPrimaryVariant">@color/primary_dark</item> <item name="android:textColorSecondary">@color/text_2</item>
<item name="colorOnPrimary">@color/white</item> <item name="fontFamily">@font/font_ibm_plex_sans</item>
<item name="colorSecondary">@color/secondary_color</item>
<item name="colorSecondaryVariant">@color/secondary_dark</item>
<item name="colorOnSecondary">@color/white</item>
</style> </style>
<style name="Theme.VdcScore" parent="Base.Theme.VdcScore" /> <style name="Theme.VdcScore" parent="Base.Theme.VdcScore" />
@@ -21,9 +24,10 @@
<style name="Theme.VdcScore.NoActionBar"> <style name="Theme.VdcScore.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<!-- Explicitly enforce status bar settings here too --> <item name="android:statusBarColor">@color/bg_base</item>
<item name="android:statusBarColor">@color/white</item> <item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style> </style>
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark" />
</resources> </resources>

View File

@@ -3,26 +3,47 @@
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<!-- Minimalist Palette --> <!-- Target Mockup Light Palette -->
<color name="primary_color">#000000</color> <!-- Black --> <color name="bg_base">#FFFFFF</color>
<color name="primary_light">#404040</color> <!-- Dark Grey --> <color name="bg_surface">#F8F9FA</color>
<color name="primary_dark">#000000</color> <color name="bg_elevated">#F1F3F5</color>
<color name="bg_overlay">#E9ECEF</color>
<color name="secondary_color">#212121</color> <!-- Dark Grey Accent --> <color name="brand">#22c55e</color>
<color name="secondary_light">#484848</color> <color name="brand_dim">#1A22C55E</color>
<color name="secondary_dark">#000000</color> <color name="brand_border">#4022C55E</color>
<color name="live_indicator">#00E676</color> <!-- Bright Green (Keep for utility) --> <color name="accent">#3b82f6</color>
<color name="live_time">#FF1744</color> <!-- Red for time (Keep for utility) --> <color name="danger">#ef4444</color>
<color name="warning">#f59e0b</color>
<color name="background_light">#FFFFFF</color> <!-- Pure White Background --> <color name="text_1">#111827</color>
<color name="surface_light">#FFFFFF</color> <color name="text_2">#6B7280</color>
<color name="surface_card">#FFFFFF</color> <!-- White Card --> <color name="text_3">#9CA3AF</color>
<color name="text_primary">#212121</color> <!-- Almost Black --> <color name="border">#E5E7EB</color>
<color name="text_secondary">#757575</color> <!-- Grey --> <color name="border_active">#22c55e</color>
<!-- Compatibilty with existing styles -->
<color name="primary_color">#22c55e</color>
<color name="primary_light">#E8F5E9</color>
<color name="primary_dark">#1B5E20</color>
<color name="secondary_color">#FFFFFF</color>
<color name="secondary_light">#F8F9FA</color>
<color name="secondary_dark">#E9ECEF</color>
<color name="live_indicator">#22c55e</color>
<color name="live_time">#22c55e</color>
<color name="background_light">#FFFFFF</color>
<color name="surface_light">#F8F9FA</color>
<color name="surface_card">#FFFFFF</color>
<color name="text_primary">#111827</color>
<color name="text_secondary">#6B7280</color>
<color name="text_on_primary">#FFFFFF</color> <color name="text_on_primary">#FFFFFF</color>
<color name="divider">#EEEEEE</color> <!-- Very light grey divider --> <color name="divider">#E5E7EB</color>
<color name="input_background">#F5F5F5</color> <!-- Light grey for inputs/cards if needed --> <color name="input_background">#F3F4F6</color>
</resources> </resources>

View File

@@ -3,20 +3,20 @@
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Base.Theme.VdcScore" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your light theme here. --> <!-- Customize your light theme here. -->
<item name="colorPrimary">@color/primary_color</item> <item name="colorPrimary">@color/brand</item>
<item name="colorPrimaryVariant">@color/primary_dark</item> <item name="colorOnPrimary">@color/bg_base</item>
<item name="colorOnPrimary">@color/white</item> <item name="colorSecondary">@color/bg_surface</item>
<item name="colorSecondary">@color/secondary_color</item> <item name="colorOnSecondary">@color/text_1</item>
<item name="colorSecondaryVariant">@color/secondary_dark</item> <item name="android:windowBackground">@color/bg_base</item>
<item name="colorOnSecondary">@color/white</item>
<!-- Status Bar Settings --> <!-- Status Bar Settings (Pure Dark Mode) -->
<item name="android:statusBarColor">@color/white</item> <item name="android:statusBarColor">@color/bg_base</item>
<item name="android:windowLightStatusBar">true</item> <!-- Dark icons --> <item name="android:windowLightStatusBar">true</item> <!-- Dark text/icons on light bg -->
<item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:textColorPrimary">@color/text_primary</item> <item name="android:textColorPrimary">@color/text_1</item>
<item name="android:textColorSecondary">@color/text_secondary</item> <item name="android:textColorSecondary">@color/text_2</item>
<item name="fontFamily">@font/font_ibm_plex_sans</item>
</style> </style>
<style name="Theme.VdcScore" parent="Base.Theme.VdcScore" /> <style name="Theme.VdcScore" parent="Base.Theme.VdcScore" />
@@ -24,18 +24,33 @@
<style name="Theme.VdcScore.NoActionBar"> <style name="Theme.VdcScore.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<!-- Explicitly enforce status bar settings here too to avoid inheritance issues --> <item name="android:statusBarColor">@color/bg_base</item>
<item name="android:statusBarColor">@color/white</item>
<item name="android:windowLightStatusBar">true</item> <item name="android:windowLightStatusBar">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style> </style>
<style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="Theme.VdcScore.AppBarOverlay" parent="ThemeOverlay.AppCompat.ActionBar" />
<style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="Theme.VdcScore.PopupOverlay" parent="ThemeOverlay.AppCompat" />
<style name="ShapeAppearanceOverlay.App.CornerSize50Percent" parent=""> <style name="ShapeAppearanceOverlay.App.CornerSize50Percent" parent="">
<item name="cornerFamily">rounded</item> <item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item> <item name="cornerSize">50%</item>
</style> </style>
<style name="Theme.VdcScore.ToolbarTitleTextAppearance" parent="TextAppearance.MaterialComponents.Headline6">
<item name="fontFamily">@font/font_bebas_neue</item>
<item name="android:fontFamily">@font/font_bebas_neue</item>
<item name="android:textSize">22sp</item>
<item name="android:letterSpacing">0.06</item>
<item name="android:textAllCaps">true</item>
<item name="android:textColor">@color/text_1</item>
</style>
<style name="Theme.VdcScore.DrawerTextAppearance" parent="TextAppearance.MaterialComponents.Subtitle2">
<item name="fontFamily">@font/font_ibm_plex_sans</item>
<item name="android:fontFamily">@font/font_ibm_plex_sans</item>
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
</style>
</resources> </resources>