DrawerLayout doit être mesurée avec MeasureSpec.EXACTEMENT erreur
Je suis en train de mettre en œuvre un système de Navigation de tiroir, mais je reçois ce message d'erreur.
J'ai vu les mêmes questions, mais n'a pas de travail pour moi. J'ai le schéma suivant activity_main2.xml:
<android.support.v4.widget.DrawerLayout
android:layout_width="match_parent"
android:id="@+id/drawerLayout"
android:layout_height="match_parent">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<RelativeLayout
android:layout_gravity="left|start"
android:layout_width="match_parent"
android:background="#fff"
android:layout_height="match_parent">
<ListView
android:id="@+id/left_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#eee"
android:background="#fff"
android:dividerHeight="1dp" />
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
Sur mon activity_main2.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initView();
if (toolbar != null) {
//toolbar.setTitle("");
setSupportActionBar(toolbar);
}
initDrawer();
}
private void initView() {
leftDrawerList = (ListView) findViewById(R.id.left_drawer);
toolbar = (Toolbar) findViewById(R.id.toolbar);
drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
navigationDrawerAdapter = new ArrayAdapter<String>( MainActivity.this, android.R.layout.simple_list_item_1, leftSliderData);
leftDrawerList.setAdapter(navigationDrawerAdapter);
leftDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(position == 1){
drawerLayout.closeDrawer(Gravity.LEFT);
}
}
});
}
private void initDrawer() {
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
};
drawerLayout.setDrawerListener(drawerToggle);
}
J'espère que quelqu'un va m'aider avec la bonne direction.
Merci beaucoup d'avance!
Où obtenez-vous cette erreur? Sur l'exécution, ou dans Android Studio? Êtes-vous à l'aide de la dernière bibliothèque de prise en charge?
à l'aide de Android Studio et a obtenu l'erreur d'exécution: java.lang.IllegalArgumentException: DrawerLayout doit être mesurée avec MeasureSpec.EXACTEMENT.
Voir mon ansewer stackoverflow.com/questions/32515527/...
à l'aide de Android Studio et a obtenu l'erreur d'exécution: java.lang.IllegalArgumentException: DrawerLayout doit être mesurée avec MeasureSpec.EXACTEMENT.
Voir mon ansewer stackoverflow.com/questions/32515527/...
OriginalL'auteur Ismail Rubad | 2015-07-31
Vous devez vous connecter pour publier un commentaire.
Mon DrawerLayout était à l'intérieur d'un LinearLayout:
Puis j'ai résolu le problème en modifiant le
layout_height="wrap_content"
àlayout_height="match_parent"
deLinearLayout
.Donc le code est:OriginalL'auteur
Pour ceux qui ont encore une exception, assurer votre
DrawerLayout
hauteur estmatch_parent
OriginalL'auteur
Cela peut également se produire en raison de la nouvelle
ConstraintLayout
. Assurez-vous que le tiroir de la mise en page n'est pas dans la hiérarchie deConstraintLayout
.C'est vraiment un bête bug sur Android. Je vais essayer de remplir un rapport de bogue.
Vous avez absolument raison. RelativeLayout qui a le mieux fonctionné pour moi ici.
Vous devez définir à la fois la largeur et la hauteur de DrawerLayout à 0dp dans ConstraintLayout. Si seulement régler la hauteur de 0dp, la largeur de match_parent, qui sera la cause de ce problème. stackoverflow.com/questions/47001482/...
OriginalL'auteur
Assurez-vous que votre activité n'est pas un "Dialogue" de l'activité, signez le manifeste. J'ai fait cette erreur et a obtenu l'erreur.
OriginalL'auteur
Cela peut aussi arriver si vous avez défini
layout_width
àwrap_content
. Dans mon cas, il a été résolu par le réglage de la largeur dematch_parent
. Espérons que cela aide quelqu'un.OriginalL'auteur
a été résolu mon problème en créant de l'activité comme ci-dessous;
OriginalL'auteur
utilisant Android.De soutien.V4.Widget;
en utilisant Android.Util;
.
.
.
OriginalL'auteur
Par erreur, j'ai mis une boîte de dialogue personnaliser le thème de l'activité en lieu et place d'une activité personnalisée thème:
Après j'ai corrigé cela, il workes de nouveau.
OriginalL'auteur
Si vous obtenez toujours cette Exception assurez-vous que votre activité est en plein Écran défini
Dans le Manifeste u peut le faire dans
Activity
:Ou définir ce en
styles.xml
:OriginalL'auteur
utiliser ce ...
OriginalL'auteur
Got to Build->Propre projet puis projet de Reconstruction de erreur sera de résoudre
OriginalL'auteur