prompt
This commit is contained in:
@@ -56,17 +56,45 @@ public class ClubDetailFragment extends Fragment {
|
|||||||
if (statsTeam != null) {
|
if (statsTeam != null) {
|
||||||
populateStats(statsTeam);
|
populateStats(statsTeam);
|
||||||
setupComparison(statsTeam);
|
setupComparison(statsTeam);
|
||||||
|
// Also load basic info metadata (president, etc.)
|
||||||
|
loadClubDetails(statsTeam.getTeam_id());
|
||||||
} else {
|
} else {
|
||||||
Club clubeRecebido = (Club) getArguments().getSerializable("clube_selecionado");
|
Club clubeRecebido = (Club) getArguments().getSerializable("clube_selecionado");
|
||||||
if (clubeRecebido != null) {
|
if (clubeRecebido != null) {
|
||||||
populateClubInfo(clubeRecebido);
|
populateClubInfo(clubeRecebido);
|
||||||
|
} else if (clubId != null) {
|
||||||
|
loadClubDetails(Integer.parseInt(clubId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void loadClubDetails(int clubId) {
|
||||||
|
DatabaseReference clubRef = FirebaseDatabase.getInstance().getReference("clubes").child(String.valueOf(clubId));
|
||||||
|
clubRef.addListenerForSingleValueEvent(new ValueEventListener() {
|
||||||
|
@Override
|
||||||
|
public void onDataChange(@NonNull DataSnapshot snapshot) {
|
||||||
|
Club club = snapshot.getValue(Club.class);
|
||||||
|
if (club != null) {
|
||||||
|
populateClubInfo(club);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCancelled(@NonNull DatabaseError error) {
|
||||||
|
if (getContext() != null) {
|
||||||
|
Toast.makeText(getContext(), "Erro ao carregar detalhes do clube", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void populateStats(Team team) {
|
private void populateStats(Team team) {
|
||||||
binding.textDetailClubName.setText(team.getNome());
|
binding.textDetailClubName.setText(team.getNome());
|
||||||
|
binding.labelStats.setVisibility(View.VISIBLE);
|
||||||
|
binding.containerStats.setVisibility(View.VISIBLE);
|
||||||
|
binding.btnCompare.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
binding.textDetailPoints.setText(String.valueOf(team.getPontos()));
|
binding.textDetailPoints.setText(String.valueOf(team.getPontos()));
|
||||||
binding.textDetailPlayed.setText(String.valueOf(team.getJogos()));
|
binding.textDetailPlayed.setText(String.valueOf(team.getJogos()));
|
||||||
binding.textDetailWon.setText(team.getVitorias() + "V");
|
binding.textDetailWon.setText(team.getVitorias() + "V");
|
||||||
@@ -98,11 +126,12 @@ public class ClubDetailFragment extends Fragment {
|
|||||||
|
|
||||||
private void populateClubInfo(Club club) {
|
private void populateClubInfo(Club club) {
|
||||||
binding.textDetailClubName.setText(club.getName());
|
binding.textDetailClubName.setText(club.getName());
|
||||||
// If coming from Clubs list, we don't have stats easily unless we fetch them or hide stats container.
|
|
||||||
// For now, hide stats if no statsTeam
|
// Bind new club info fields
|
||||||
binding.labelStats.setVisibility(View.GONE);
|
binding.textDetailPresident.setText(club.getPresident() != null && !club.getPresident().isEmpty() ? club.getPresident() : "---");
|
||||||
binding.containerStats.setVisibility(View.GONE);
|
binding.textDetailFoundation.setText(club.getFoundationYear() > 0 ? String.valueOf(club.getFoundationYear()) : "---");
|
||||||
binding.btnCompare.setVisibility(View.GONE);
|
binding.textDetailStadium.setText(club.getStadium() != null && !club.getStadium().isEmpty() ? club.getStadium() : "---");
|
||||||
|
binding.textDetailAddress.setText(club.getAddress() != null && !club.getAddress().isEmpty() ? club.getAddress() : "---");
|
||||||
|
|
||||||
if (getContext() != null) {
|
if (getContext() != null) {
|
||||||
Glide.with(this)
|
Glide.with(this)
|
||||||
|
|||||||
@@ -45,6 +45,16 @@ public class Match {
|
|||||||
this.homeName = homeName;
|
this.homeName = homeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PropertyName("equipa_casa_nome")
|
||||||
|
public void setEquipaCasaNome(String homeName) {
|
||||||
|
this.homeName = homeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PropertyName("home_team_name")
|
||||||
|
public void setHomeTeamName(String homeName) {
|
||||||
|
this.homeName = homeName;
|
||||||
|
}
|
||||||
|
|
||||||
@PropertyName("away_nome")
|
@PropertyName("away_nome")
|
||||||
public String getAwayName() {
|
public String getAwayName() {
|
||||||
return awayName;
|
return awayName;
|
||||||
@@ -65,6 +75,16 @@ public class Match {
|
|||||||
this.awayName = awayName;
|
this.awayName = awayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PropertyName("equipa_fora_nome")
|
||||||
|
public void setEquipaForaNome(String awayName) {
|
||||||
|
this.awayName = awayName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PropertyName("away_team_name")
|
||||||
|
public void setAwayTeamName(String awayName) {
|
||||||
|
this.awayName = awayName;
|
||||||
|
}
|
||||||
|
|
||||||
@PropertyName("home_golos")
|
@PropertyName("home_golos")
|
||||||
public Integer getHomeScore() {
|
public Integer getHomeScore() {
|
||||||
return homeScore;
|
return homeScore;
|
||||||
@@ -120,6 +140,16 @@ public class Match {
|
|||||||
this.homeLogo = homeLogo;
|
this.homeLogo = homeLogo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PropertyName("equipa_casa_logo")
|
||||||
|
public void setEquipaCasaLogo(String homeLogo) {
|
||||||
|
this.homeLogo = homeLogo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PropertyName("home_team_logo")
|
||||||
|
public void setHomeTeamLogo(String homeLogo) {
|
||||||
|
this.homeLogo = homeLogo;
|
||||||
|
}
|
||||||
|
|
||||||
@PropertyName("away_logo")
|
@PropertyName("away_logo")
|
||||||
public String getAwayLogo() {
|
public String getAwayLogo() {
|
||||||
return awayLogo;
|
return awayLogo;
|
||||||
@@ -135,6 +165,16 @@ public class Match {
|
|||||||
this.awayLogo = awayLogo;
|
this.awayLogo = awayLogo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PropertyName("equipa_fora_logo")
|
||||||
|
public void setEquipaForaLogo(String awayLogo) {
|
||||||
|
this.awayLogo = awayLogo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PropertyName("away_team_logo")
|
||||||
|
public void setAwayTeamLogo(String awayLogo) {
|
||||||
|
this.awayLogo = awayLogo;
|
||||||
|
}
|
||||||
|
|
||||||
@PropertyName("campo")
|
@PropertyName("campo")
|
||||||
public String getStadium() {
|
public String getStadium() {
|
||||||
return stadium;
|
return stadium;
|
||||||
|
|||||||
@@ -50,15 +50,19 @@ public class MatchesAdapter extends RecyclerView.Adapter<MatchesAdapter.ViewHold
|
|||||||
holder.textHomeTeam.setText(isValid(homeName) ? homeName : "Equipa A");
|
holder.textHomeTeam.setText(isValid(homeName) ? homeName : "Equipa A");
|
||||||
holder.textAwayTeam.setText(isValid(awayName) ? awayName : "Equipa B");
|
holder.textAwayTeam.setText(isValid(awayName) ? awayName : "Equipa B");
|
||||||
|
|
||||||
// Logos
|
// Logos with better loading
|
||||||
Glide.with(holder.itemView.getContext())
|
Glide.with(holder.itemView.getContext())
|
||||||
.load(match.getHomeLogo())
|
.load(match.getHomeLogo())
|
||||||
.placeholder(R.drawable.ic_club_placeholder)
|
.placeholder(R.drawable.ic_club_placeholder)
|
||||||
|
.error(R.drawable.ic_club_placeholder)
|
||||||
|
.circleCrop()
|
||||||
.into(holder.imgHomeLogo);
|
.into(holder.imgHomeLogo);
|
||||||
|
|
||||||
Glide.with(holder.itemView.getContext())
|
Glide.with(holder.itemView.getContext())
|
||||||
.load(match.getAwayLogo())
|
.load(match.getAwayLogo())
|
||||||
.placeholder(R.drawable.ic_club_placeholder)
|
.placeholder(R.drawable.ic_club_placeholder)
|
||||||
|
.error(R.drawable.ic_club_placeholder)
|
||||||
|
.circleCrop()
|
||||||
.into(holder.imgAwayLogo);
|
.into(holder.imgAwayLogo);
|
||||||
|
|
||||||
// Scores
|
// Scores
|
||||||
|
|||||||
6
app/src/main/res/drawable/bg_jornada_nav.xml
Normal file
6
app/src/main/res/drawable/bg_jornada_nav.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#F8F9FA" />
|
||||||
|
<corners android:radius="14dp" />
|
||||||
|
<stroke android:width="1dp" android:color="#F1F3F5" />
|
||||||
|
</shape>
|
||||||
6
app/src/main/res/drawable/bg_match_item.xml
Normal file
6
app/src/main/res/drawable/bg_match_item.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/surface_card" />
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
<stroke android:width="1dp" android:color="@color/divider" />
|
||||||
|
</shape>
|
||||||
9
app/src/main/res/drawable/ic_club_placeholder.xml
Normal file
9
app/src/main/res/drawable/ic_club_placeholder.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#E0E0E0"
|
||||||
|
android:pathData="M12,2L4,5v6.09c0,5.05 3.41,9.76 8,10.91 4.59,-1.15 8,-5.86 8,-10.91V5L12,2z"/>
|
||||||
|
</vector>
|
||||||
@@ -61,6 +61,177 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"/>
|
app:layout_constraintEnd_toEndOf="parent"/>
|
||||||
|
|
||||||
|
<!-- Club Info Header -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/label_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_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/label_club_info"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent">
|
||||||
|
|
||||||
|
<!-- Presidente 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_person"
|
||||||
|
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="PRESIDENTE:"
|
||||||
|
android:textSize="12sp"
|
||||||
|
android:textColor="#616161"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/text_detail_president"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="---"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textColor="#263238"
|
||||||
|
android:textStyle="bold"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- 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"
|
||||||
@@ -70,7 +241,8 @@
|
|||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textColor="#616161"
|
android:textColor="#616161"
|
||||||
android:layout_marginTop="32dp"
|
android:layout_marginTop="32dp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/text_detail_club_name"
|
android:visibility="gone"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/container_club_info"
|
||||||
app:layout_constraintStart_toStartOf="parent"/>
|
app:layout_constraintStart_toStartOf="parent"/>
|
||||||
|
|
||||||
<!-- Stats Container -->
|
<!-- Stats Container -->
|
||||||
@@ -80,6 +252,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
|
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">
|
||||||
@@ -320,6 +493,7 @@
|
|||||||
app:cornerRadius="12dp"
|
app:cornerRadius="12dp"
|
||||||
android:backgroundTint="#FFC107"
|
android:backgroundTint="#FFC107"
|
||||||
android:textColor="@color/black"
|
android:textColor="@color/black"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintTop_toBottomOf="@id/container_stats"
|
app:layout_constraintTop_toBottomOf="@id/container_stats"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"/>
|
app:layout_constraintEnd_toEndOf="parent"/>
|
||||||
|
|||||||
@@ -4,16 +4,17 @@
|
|||||||
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="10dp"
|
||||||
app:cardCornerRadius="12dp"
|
app:cardBackgroundColor="@color/white"
|
||||||
app:cardElevation="4dp"
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardElevation="6dp"
|
||||||
app:strokeWidth="0dp">
|
app:strokeWidth="0dp">
|
||||||
|
|
||||||
<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="12dp">
|
android:padding="16dp">
|
||||||
|
|
||||||
<!-- Header: Date, Time and Stadium -->
|
<!-- Header: Date, Time and Stadium -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -21,7 +22,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_marginBottom="8dp">
|
android:layout_marginBottom="12dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_match_info"
|
android:id="@+id/text_match_info"
|
||||||
@@ -30,22 +31,25 @@
|
|||||||
android:text="29/03/2026 10:00"
|
android:text="29/03/2026 10:00"
|
||||||
android:textColor="#1976D2"
|
android:textColor="#1976D2"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
android:textStyle="bold" />
|
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:text="Campo:Guilhabreu"
|
||||||
android:textColor="#1976D2"
|
android:textColor="#5C6BC0"
|
||||||
android:textSize="11sp" />
|
android:textSize="11sp"
|
||||||
|
android:layout_marginTop="2dp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="80dp"
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:background="#BBDEFB"
|
android:background="#E0E0E0"
|
||||||
android:layout_marginBottom="12dp" />
|
android:layout_gravity="center"
|
||||||
|
android:layout_marginBottom="16dp" />
|
||||||
|
|
||||||
<!-- Teams and Scores -->
|
<!-- Teams and Scores -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -64,8 +68,8 @@
|
|||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/img_home_logo"
|
android:id="@+id/img_home_logo"
|
||||||
android:layout_width="60dp"
|
android:layout_width="65dp"
|
||||||
android:layout_height="60dp"
|
android:layout_height="65dp"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
android:src="@drawable/ic_club_placeholder" />
|
android:src="@drawable/ic_club_placeholder" />
|
||||||
@@ -74,12 +78,14 @@
|
|||||||
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="8dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="J.U. Mosteiró"
|
android:text="J.U. Mosteiró"
|
||||||
android:textColor="@color/text_primary"
|
android:textColor="#333333"
|
||||||
android:textSize="13sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:gravity="center" />
|
android:gravity="center"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:ellipsize="end" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- Score Section -->
|
<!-- Score Section -->
|
||||||
@@ -87,7 +93,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="8dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -95,14 +101,14 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="2"
|
android:text="2"
|
||||||
android:textColor="#0D47A1"
|
android:textColor="#1A237E"
|
||||||
android:textSize="32sp"
|
android:textSize="34sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="2dp"
|
android:layout_width="2dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:background="#E3F2FD"
|
android:background="#EEEEEE"
|
||||||
android:layout_marginHorizontal="12dp" />
|
android:layout_marginHorizontal="12dp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -110,8 +116,8 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="4"
|
android:text="4"
|
||||||
android:textColor="#0D47A1"
|
android:textColor="#1A237E"
|
||||||
android:textSize="32sp"
|
android:textSize="34sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
@@ -125,8 +131,8 @@
|
|||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/img_away_logo"
|
android:id="@+id/img_away_logo"
|
||||||
android:layout_width="60dp"
|
android:layout_width="65dp"
|
||||||
android:layout_height="60dp"
|
android:layout_height="65dp"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
android:src="@drawable/ic_club_placeholder" />
|
android:src="@drawable/ic_club_placeholder" />
|
||||||
@@ -135,12 +141,14 @@
|
|||||||
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="8dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="G.D.C. Rio Mau"
|
android:text="G.D.C. Rio Mau"
|
||||||
android:textColor="@color/text_primary"
|
android:textColor="#333333"
|
||||||
android:textSize="13sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:gravity="center" />
|
android:gravity="center"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:ellipsize="end" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
1
prompt.txt
Normal file
1
prompt.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
estou a desenvolver um projeto que se trata de uma app android que tem como objetivo fazer o scraping de infomarção do campeonato inter freguesias de vila do conde. quero mostrar toda a informação possível, clubes e os seus dados, jogos, johadores, posições tabela classificativa, etc. já comecei a fazer o projeto. tenho estruturado em 2 projetos, um projeto em java para fazer o scrapping e envio dos dados para o firebase e outro projeto android que se alimenta dos dados do mesmo firebsae (realtime database). antes de avançar mais no projeto quero criar toda a documentação necessária para garantir que o projeto pode saltar de agente em agente de ia mas mantem o contexto. para tal quero utilziar ficheiros md. até agora não fiz nada disto. quero que faças uma análise dos 2 projetos e cries toda esta documentação. tem que estar descrito como funcionam, tecnologias, o estado, quero que seja sempre registado o progresso. antes de avancares quero que faças um plano para a documentação e me apresentes. estás na pasta onde está o android. antes desta pasta existe um apasta com o nome scrapper e contem o projeto java com o scrapper.
|
||||||
Reference in New Issue
Block a user