J'essaye de placer mon RecyclerView horizontal au centre de RelativeLayout. Mais certains éléments de liste obtiennent le centre comme je veux et certains d'entre eux ne sont pas mis au centre. Ça ressemble à ça. centre horizontal RecyclerView dans RelativeLayout
Mon XML est à la recherche comme celui-ci
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:background="?attr/colorPrimaryDark"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:textColor="?attr/TextColor"
android:layout_width="wrap_content"
android:layout_height="@dimen/toolbar"
android:text="=: Change Your Font :="
android:textStyle="bold"
android:layout_centerHorizontal="true"
android:gravity="center"
android:textSize="@dimen/appName"
android:id="@+id/title"
android:padding="@dimen/lblTime" />
<LinearLayout
android:background="?attr/TextColor"
android:orientation="vertical"
android:layout_below="@+id/title"
android:layout_above="@+id/dialog_dismiss"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="2dp"
android:layout_weight="7">
<TextView
android:scrollbars="vertical"
android:id="@+id/font_text_quote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:linksClickable="true"
android:gravity="center"
android:layout_centerVertical="true"
android:padding="10dp"
android:text="@string/sample"
android:textColor="?attr/colorPrimaryDark"
android:textSize="@dimen/newMainText"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:layout_gravity="center"
android:background="?attr/colorPrimary"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="2dp"
android:layout_weight="1">
<android.support.v7.widget.RecyclerView
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:id="@+id/hsv_font_bartextview"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar"
android:layout_gravity="center"
android:visibility="visible" />
</RelativeLayout>
</LinearLayout>
<TextView
android:id="@+id/dialog_dismiss"
android:layout_width="wrap_content"
android:layout_height="@dimen/toolbar"
android:text="Dismiss"
android:textStyle="bold"
android:textColor="?attr/TextColor"
android:padding="@dimen/lblTime"
android:textSize="@dimen/appName"
android:gravity="center"
android:layout_marginEnd="@dimen/lblTime"
android:layout_marginRight="@dimen/lblTime"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
Mon XML article enfant est comme ce
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
style="@style/SelectableItemBackground"
android:gravity="center"
android:orientation="vertical"
>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cardView"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp">
<TextView
android:id="@+id/textView"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:background="?attr/TextColor"
android:gravity="center"
android:text="hello"
android:textColor="?attr/colorPrimaryDark"
android:textSize="21sp"
android:visibility="visible" />
</android.support.v7.widget.CardView>
</LinearLayout>
Mon code Java pour c'est comme ci-dessous
private void showGotoPageDialog() {
Typeface font = Typeface.createFromAsset(SettingsActivity.this.getAssets(), constant.font);
final Dialog mDialog = new Dialog(SettingsActivity.this);
mDialog.setContentView(R.layout.font_dialogue);
mDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayoutManager layoutManager
= new LinearLayoutManager(SettingsActivity.this, LinearLayoutManager.HORIZONTAL, false);
hsv_font_bartextview= mDialog.findViewById(R.id.hsv_font_bartextview);
hsv_font_bartextview.setLayoutManager(layoutManager);
final TextView font_text_quote;
TextAdapterTextview textAdaptertextview = new TextAdapterTextview(SettingsActivity.this, Globle.getFontArray());
hsv_font_bartextview.setAdapter(textAdaptertextview);
font_text_quote= mDialog.findViewById(R.id.font_text_quote);
font_text_quote.setTypeface(font);
textAdaptertextview.setOnClickLIstner(new OnTClickLIstner() {
@Override
public void onClick(View v, String image, int position) {
constant.font=image;
Typeface newfont = Typeface.createFromAsset(SettingsActivity.this.getAssets(), constant.font);
font_text_quote.setTypeface(newfont);
}
});
mDialog.show();
TextView dismiss = (TextView) mDialog.findViewById(R.id.dialog_dismiss);
dismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mDialog.dismiss();
Intent intent = new Intent(SettingsActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
}
}
Adaptateur Java codes
Vous pouvez voir que les deux premiers éléments mettent au centre ainsi que les deux derniers éléments également au centre, mais le troisième est en haut au lieu du centre. Faites-moi savoir si quelqu'un a l'idée de le corriger.
EDIT son réglage au centre correct lorsque je fais défiler des éléments et que j'appuie sur un élément.
Merci
ce problème n'est pas lié à l'erreur de mise en page d'activité/fragment, définissez la disposition de l'élément recyclerview, l'adaptateur recyclerView et le code pour initier le recyclerview dans onCreate pour vous aider ces informations ne suffisent pas pour résoudre le problème –
@AmjadOmari J'ai ajouté le code java lié. S'il vous plaît vérifier – Priya
et où est le code de l'adaptateur s'il vous plaît? –