3
votes

Panneau coulissant dans un fragment de carte similaire à Google Maps

J'utilise ceci pour la mise en page de diapositives dans mon fragment de carte, mais mon application plante encore et encore et je ne comprends pas ce qui se passe. Dans le rapport de bogue, il suffit de dire Ligne de fichier XML binaire # 34 Ligne de fichier XML binaire # 34: "Erreur de gonflage du fragment de classe".

https://github.com/umano/AndroidSlidingUpPanel

ceci est mon MapsActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:behavior_hideable="false"
    android:clickable="true"
    app:behavior_peekHeight="56dp"
    app:layout_behavior="@string/bottom_sheet_behavior"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tex1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="EXPLORE "
        android:textSize="30sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tex1"
        android:layout_centerInParent="true"
        android:layout_marginTop="30dp"
        android:text="Your Place" />

    <Button
        android:id="@+id/b2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b1"
        android:layout_centerInParent="true"
        android:layout_marginTop="30dp"
        android:text="My Place" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/b2"
        android:layout_centerInParent="true"
        android:layout_marginTop="30dp"
        android:text="Many to find " />
</LinearLayout>

BottomData.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:app="http://schemas.android.com"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical">
    <com.sothree.slidinguppanel.SlidingUpPanelLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom"
        app:umanoDragView="@+id/dragView"
        app:umanoOverlay="true"
        app:umanoPanelHeight="68dp"
        app:umanoParalaxOffset="100dp"
        app:umanoShadowHeight="4dp">
    <android.support.v4.widget.DrawerLayout android:id="@+id/drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="#FFFFFF">

            <ImageView
                android:id="@+id/tree_button"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:adjustViewBounds="true"
                android:scaleType="fitXY"
                android:src="@drawable/tree" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Ecology"
                android:textColor="@color/colorAccent"
                android:textSize="30dp"
                android:textStyle="bold" />
        </android.support.v7.widget.Toolbar>

        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".MapsActivity">
        </fragment>
    </LinearLayout>
    <android.support.design.widget.NavigationView
        android:id="@+id/navigation"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/menu">
    </android.support.design.widget.NavigationView>
    </android.support.v4.widget.DrawerLayout>
        <include layout="@layout/bottom_data">
        </include>
    </com.sothree.slidinguppanel.SlidingUpPanelLayout>
</RelativeLayout>

Merci d'avance!


0 commentaires

3 Réponses :


0
votes

Essayez ce code.

Le studio Android fournit également une activité sur la carte .. vous pouvez l'ajouter facilement.

ajoutez ci-dessous la dépendance dans le fichier gradle au niveau de l'application.

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      xmlns:map="http://schemas.android.com/apk/res-auto"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:id="@+id/map"
      tools:context=".MapsActivity"
      android:name="com.google.android.gms.maps.SupportMapFragment"/>


2 commentaires

J'ai demandé quelque chose d'autre ... regardez dans mon MapsActivity.xml J'ai déjà implémenté le fragment de Maps dans mon projet Je veux juste implémenter SlideUpPanel dessus. :)


vous avez face à cette erreur Erreur de gonflement du fragment de classe .. cette solution consiste à ajouter cette dépendance dans le fichier gradle au niveau de l'application..implémentation 'com.google.android.gms: play-services-maps: 16.1.0'



0
votes

Je pense que vous utilisez le curseur umano dans le mauvais sens.

  1. Le com.sothree.slidinguppanel.SlidingUpPanelLayout doit être l ' élément racine de votre présentation d'activité
  2. La mise en page doit avoir la gravité définie sur haut ou bas (position à partir de laquelle le curseur va dessiner)
  3. Assurez-vous qu'il a deux enfants . Le premier enfant est votre mise en page principale . Le deuxième enfant est votre mise en page pour le panneau coulissant
  4. La mise en page principale doit avoir la largeur et la hauteur définies sur match_parent . La mise en page coulissante doit avoir la largeur définie sur match_parent et la hauteur définie sur match_parent code>, wrap_content

Ce serait un exemple:

implementation 'com.sothree.slidinguppanel:library:3.4.0'

Quoi qu'il en soit, vous devez ajouter ceci dans les fichiers gradle

//main_activity.xml or whatever layout u wish

<com.sothree.slidinguppanel.SlidingUpPanelLayout
    xmlns:sothree="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="bottom"
    sothree:umanoPanelHeight="68dp">//Height when the slide panel is in the collapsed form

    //This is the base content, everything u want in the view has to be inside these
    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        tools:context=".MapsActivity"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </fragment>

    //This is the sliding layout, everything u want in the slider has to be here
    <LinearLayout
        android:id="@+id/slidingLayoutMapsFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center|top"
            android:text="The Awesome Sliding Up Panel"
            android:textSize="16sp" />

    </LinearLayout>

</com.sothree.slidinguppanel.SlidingUpPanelLayout>


0 commentaires

0
votes

regardez ce code

<com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:sothree="http://schemas.android.com/tools"
    android:gravity="bottom"
    sothree:umanoPanelHeight="68dp"
    sothree:umanoShadowHeight="4dp"
    sothree:setAnchorPoint="middle"
    >

<!-- Main here -->
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.eminent.a2019.mapslearnign.MapsActivity" />

</RelativeLayout>


<!-- SlideUpPanelHere -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
</LinearLayout>
</com.sothree.slidinguppanel.SlidingUpPanelLayout>


0 commentaires