layout_centerInParent no está funcionando después de arrojar una RecyclerView

Mustafa Shahoud:

Estoy tratando de utilizar otro ViewHolder con el mismo RecyclerView, el diseño que estoy tratando de inflar es básicamente RelativeLyout y ProgressBar como un hijo de él. El problema es que el ProgressBar tiene una CenterInParent atributo = "true" que no funciona después de inflar la disposición en la que el Progressbar mantiene estar en el lado izquierdo de la pantalla, A pesar de que en los programas de vista previa correctamente centrado de la pantalla, por lo que el problema parece para estar con proceso de inflación como durante la depuración no vi ningún atributo centerInParent para la visión exagerada.

He probado el LinearLayout y ConstraintLayout e incluso trató de diseño conjunto de parámetros nada funcionó. También traté de cambiar la matriz de la disposición inflado a disposición relativa como el padre real es la vista de reciclaje, pero también no funcionaba.

Este es el diagrama de la ViewHolder que estoy tratando de inflar.

<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"/>

Aquí está el adaptador

@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);
    }
}
Mustafa Shahoud:

He escrito la respuesta a la espera ayude a otros, yo acabo de descubrir lo que está pasando, el problema estaba en el ancho de la RecyclerView como lo fue wrap_content, que debería haber sido match_parent.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=230060&siteId=1
Recomendado
Clasificación