我正在尝试将另一个ViewHolder与相同的RecyclerView一起使用,我要充气的布局基本上是RelativeLyout和ProgressBar作为它的子级。问题在于,ProgressBar具有一个属性CenterInParent =“ True”,该属性在放大进度栏保持在屏幕左侧的布局后不起作用,即使在preView中显示为正确地将屏幕居中,也似乎出现了问题与膨胀过程一样,在调试时,我没有看到膨胀视图的任何centerInParent属性。
我尝试了LinearLayout和ConstraintLayout,甚至尝试设置布局参数都没有用。我还尝试将充气式布局的父级更改为相对布局,因为实际的父级是回收者视图,但也没有用。
这是我要充气的ViewHolder的布局。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_centerInParent="true"/>
这是适配器
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
switch (viewType) {
//Case List recipes
case RECIPE_TYPE: {
RecipeItemBinding mRecipeItemBinding = RecipeItemBinding.inflate(
LayoutInflater.from(parent.getContext()), parent, false);
return new MyViewHolder(mRecipeItemBinding, onRecipeClickListener);
}
//Case Loading layout
case LOADING_TYPE: {
view = LayoutInflater.from(parent.getContext()).inflate(
R.layout.layout_loading_list_item, parent, false);
return new LoadingViewHolder(view);
}
public class LoadingViewHolder extends RecyclerView.ViewHolder {
public LoadingViewHolder(@NonNull View itemView) {
super(itemView);
}
}
答案 0 :(得分:0)
我写了答案,希望对其他人有帮助,我只是想出了什么办法,问题出在RecyclerView的宽度上,因为它是wrap_content,应该是match_parent。