Ich benutze eine Recycler-Ansicht in meiner App.In diesem verwende ich ein Raster-Layout und eine cardview.Ich verwende eine horizontale Bildlaufansicht. Wie wird cardView bei der Verwendung von RecyclerView auf dem Bildschirm angezeigt?
Aber die Kartengröße ist passend nicht die screen..It ausgehen wird, obwohl ich klauen können die content.I anzeigen möchten die Karte auf den Bildschirm passen sowohl horizontal als auch vertically.My Code:
Activity.java
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_page);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
data_list = new ArrayList<>();
load_data();
gridLayoutManager = new GridLayoutManager(this, 1,LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(gridLayoutManager);
adapter = new CustomAdapter(this,data_list);
recyclerView.setAdapter(adapter);
benutzerdefinierte Adapter.java
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
private Context context;
private List<MyData> my_data;
public CustomAdapter(Context context, List<MyData> my_data) {
this.context = context;
this.my_data = my_data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card,parent,false);
itemView.setMinimumWidth(parent.getMeasuredWidth());
itemView.setMinimumHeight(parent.getMeasuredHeightAndState());
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position)
{
holder.userstory.setText(my_data.get(position).getUserstory());
holder.tasks.setText(my_data.get(position).getTask());
holder.actual.setText(my_data.get(position).getActuals());
holder.estimate.setText(my_data.get(position).getTodos());
}
@Override
public int getItemCount()
{
return my_data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder
{
public TextView userstory,tasks,actual,estimate;
public CircularSeekBar seekbar;
public ViewHolder(View itemView)
{
super(itemView);
userstory=(TextView) itemView.findViewById(R.id.tvUserStory);
tasks=(TextView) itemView.findViewById(R.id.tvTask);
actual=(TextView) itemView.findViewById(R.id.tvActual);
estimate=(TextView) itemView.findViewById(R.id.tvEstimate);
}
}
}
Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Card.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res/com.devadvance.circulartest"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="ResAuto">
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:elevation="3dp"
card_view:cardUseCompatPadding="true"
card_view:cardElevation="4dp"
card_view:cardCornerRadius="1dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/tvUserStory"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/tvTask"
android:layout_below="@+id/tvUserStory"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/tvUserStory" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/tvActual"
android:layout_below="@+id/tvTask"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/tvTask" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/tvEstimate"
android:layout_below="@+id/tvActual"
android:layout_alignParentStart="true"
android:layout_alignEnd="@+id/tvActual" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
ich die Größe aller Karten wollen same.Can jemand bitte leite mich, wie konnte ich erreichen dies Dank ??
Remove _android: paddingBottom = "@ dimen/activity_vertical_margin" android: paddingLeft = "@ Dimen/activity_horizontal_margin" android: paddingRight = "@ Dimen/activity_horizontal_margin" android: paddingTop = "@ Dimen/activity_vertical_margin"> _ für _RelativeLayout_ – Piyush
ändern android: layout_height = "wrap_content" in 'LinearLayout' zu 'match_parent'. BTW Warum verwenden Sie 'GridLayoutManager', wenn Sie eine Karte mit Bildschirmbreite und -höhe anzeigen möchten? –
Versucht es..still nicht funktioniert..Es appreas, dass in der Karte habe ich 4 Textansichten..Wenn der Text Inhalt ist groß es schafft eine große Karte – Akshay