我在我的应用程序中使用回收站视图。我使用网格布局和cardview.I使用水平滚动视图。 如何在使用RecyclerView时使cardView适合屏幕?
但该卡尺寸不拟合screen..It是走出去,即使我可以刷卡查看content.I想要的卡,以适应屏幕在水平方向以及vertically.My代码:
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);
定制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>
我想要的所有卡片尺寸same.Can请人指导我,我怎么能做到这一点??谢谢
删除_android: paddingBottom =“@ dimen/activity_vertical_margin” 机器人:paddingLeft = “@扪/ activity_horizontal_margin” 机器人:paddingRight = “@扪/ activity_horizontal_margin” 机器人:paddingTop = “@扪/ activity_vertical_margin”> _用于_RelativeLayout_ – Piyush
变化机器人:在'LinearLayout' layout_height = “WRAP_CONTENT”到'match_parent'。 顺便说一句,为什么当你想显示一个卡的屏幕宽度和高度时,你使用'GridLayoutManager'? –
试过了..不工作..它appreas,在卡中我有4个文本浏览..如果文本内容很大,它正在创造一个大卡片 – Akshay