2012-10-16 5 views
2

J'ai utilisé Android: rotation = "180" pour faire le tiroir coulissant horizontal pour apparaître sur la gauche de l'écran. Ça fonctionne bien. Mais, le contenu apparaît à l'envers à cause de la rotation. J'ai également essayé de faire pivoter la disposition du contenu, mais celle-ci ne pivote que lorsque le tiroir coulissant est complètement ouvert. Veuillez vérifier mon code attaché avec ceci.Tiroir coulissant Android

MainActivity.java

public class MainActivity extends Activity { 

ArrayAdapter<String> myAdapter; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListView LV = (ListView) findViewById(R.id.listView1); 

    String [] List = {"item 1","item 2","item 3","item 4"}; 
    myAdapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.textView1, List); 
    LV.setAdapter(myAdapter); 

    } 

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" > 

<SlidingDrawer 
    android:id="@+id/slidingDrawer1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:content="@+id/listView1" 
    android:handle="@+id/handle" 
    android:orientation="horizontal" 
    android:rotation="180" > 

<Button 
    android:id="@+id/handle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Handle" /> 

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:rotation="180" 
    tools:listitem="@layout/list_item" > 
    </ListView> 

</SlidingDrawer> 

list_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:padding="10dp" 
    android:text="Large Text" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

</LinearLayout> 
+0

Cela peut aider: http://stackoverflow.com/questions/3793194/android-making-sliding-drawer-to-slide-from-left -to-right – Magicode

Répondre

3

Je l'ai mis en place un remplacement complet du composant SlidingDrawer et il fonctionne de tous les côtés/direction. Voir http://www.github.com/kedzie/DraggableDrawers pour plus de détails.

Maintenant disponible à partir Maven Central (maven-android-plugin):

<dependency> 
    <groupid>com.github.kedzie.draggabledrawers</groupId> 
    <artifactId>library</artifactId> 
    <version>1.0.0</version> 
    <type>apklib</type> 
</dependency> 
+0

Belle bibliothèque.Merci, je voudrais essayer cela pour vérifier si cela fonctionnera lorsque les tiroirs sont les uns sur les autres et les poignées sont l'un en dessous de l'autre – SKK

+1

FOr enregistrer un seul DragLayout peut contenir plusieurs tiroirs.Mais l'empilement devrait fonctionner très bien car les événements tactiles ne sont interceptés que si vous êtes en train de faire glisser un tiroir.FYI J'ai ajouté la fonctionnalité glisser-déplacer .. checkout les dernières sur le site http: // kedzie.github.io/DraggableDrawers –

+0

@ mark.kedzierski Je ne trouve pas le code de votre tiroir coulissant Où est-ce? Le lien n'est plus valide. –

1

S'il vous plaît jeter un oeil à THIS tutoriel. Vous n'avez pas besoin de tourner le tiroir ...

+0

J'ai déjà vu ce lien. Mais ce n'est pas un tiroir coulissant. Il cache/affiche une disposition transparente particulière. Et cela ne peut pas me servir avec l'effet de glissement. – SKK

+0

Vous pouvez également ajouter l'effet de curseur en passant une animation! –

+0

oh. d'accord. Merci. Mais, Cela semble un peu lourd pour un débutant :(Tout ce que je veux faire est de montrer une liste de chaînes à l'intérieur de ce que je vais essayer – SKK

-2

Essayez d'utiliser android:gravity="left" au lieu de rotation

+0

Où voulez-vous que j'utilise la déclaration ci-dessus? désolé, mais je ne pense pas que cela fonctionne pour moi – SKK

Questions connexes