2014-04-11 7 views
5

Ich arbeite mit android.I hatte slider library in meiner Anwendung verwendet.Wie man eine Handle-Taste im Slider-Inhalt in Android einstellen?

Jetzt möchte ich eine Schaltfläche hinzufügen, um die Folie Aktivität zu behandeln, so kann ich Inhalte zusammen mit Schaltfläche zum Öffnen und Schließen wie im Bild wischen.Nach dem Schließen des Folienmenüs, Schaltfläche wird vor der Aktivität angezeigt.

Ich weiß nicht, ob es möglich ist oder nicht.

Bitte mir helfen, wenn Sie mit dieser Bibliothek vertraut sind, danke im voraus :)

enter image description here

enter image description here

habe ich den folgenden Code

 SlidingMenu menu = new SlidingMenu(this); 
    menu.setMode(SlidingMenu.LEFT); 
    menu.setApp_id("ads"); 
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
    menu.setShadowWidthRes(R.dimen.shadow_width); 
    menu.setShadowDrawable(R.drawable.shadow); 
    menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
    menu.setFadeDegree(0.35f); 
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
    menu.setSecondaryMenu(R.layout.slide); 
Schieber Inhalt
+0

Bitte geben Sie Ihren Code ein. – OAEI

+0

@ T-Rush sehe meine neue Bearbeitung – Maxwell

+0

Können Sie slide.xml bitte posten? – Fllo

Antwort

0

zugreifen Versuchen Sie diesen Link es wird Ihnen helfen: Left to Right Sliding Drawer Creation in Android

<?xml version="1.0" encoding="utf-8"?> 

     <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="horizontal" 
     android:gravity="center_vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <balaji.slidingdrawer_lr.Transparent 
      android:id="@+id/popup_window" 
      android:orientation="vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="left" 
      android:padding="30px"> 

      <TextView 
      android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
      android:textColor="#000000" 
       android:textSize="20dp" 
       android:paddingTop="20dp" 
       android:paddingBottom="20dp" 
       android:text="Left to Right Sliding" /> 

      <CheckBox 
       android:id="@+id/checkBox1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="17dp" 
      android:text="Jelly Bean" /> 

      <CheckBox 
       android:id="@+id/checkBox2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="17dp" 
      android:text="Ice Cream Sandwich" /> 

      <CheckBox 
       android:id="@+id/checkBox3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="17dp" 
      android:text="HoneyComb" /> 

     </balaji.slidingdrawer_lr.Transparent> 

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

     </LinearLayout> 

Dies ist das Layout für die Schublade von links nach rechts. Sie benötigen auch die balaji.slidingdrawer_lr.Transparent. Hier ist der Code dafür:

package balaji.slidingdrawer_lr; 

    import android.content.Context; 
    import android.graphics.Canvas; 
    import android.graphics.Paint; 
    import android.graphics.RectF; 
    import android.graphics.Paint.Style; 
    import android.util.AttributeSet; 
    import android.widget.LinearLayout; 

    public class Transparent extends LinearLayout 
    { 
    private Paint innerPaint, borderPaint ; 

    public Transparent(Context context, AttributeSet as) { 
     super(context, as); 
     init(); 
    } 

    public Transparent(Context context) { 
     super(context); 
     init(); 
    } 

    private void init() { 
     innerPaint = new Paint(); 
     innerPaint.setARGB(225, 75, 75, 255); 
     innerPaint.setAntiAlias(true); 
     borderPaint = new Paint(); 
     borderPaint.setARGB(255, 255, 255, 255); 
     borderPaint.setAntiAlias(true); 
     borderPaint.setStyle(Style.STROKE); 
     borderPaint.setStrokeWidth(20); 
    } 

    public void setInnerPaint(Paint innerPaint) { 
     this.innerPaint = innerPaint; 
    } 

    public void setBorderPaint(Paint borderPaint) { 
     this.borderPaint = borderPaint; 
    } 

    @Override 
    protected void dispatchDraw(Canvas canvas) { 
     RectF drawRect = new RectF(); 
     drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight()); 
     canvas.drawRoundRect(drawRect, 5, 5, innerPaint); 
     canvas.drawRoundRect(drawRect, 5, 5, borderPaint); 
     super.dispatchDraw(canvas); 
      } 
    } 

Sie brauchen diese zwei Dateien für Ihre Bedürfnisse. Hoffe das wird dir helfen.

0

Wenn Ihr Hauptanliegen ist Ihr Bild auf Layout-Zugabe, dann können Sie etwas wie das tun ..

Schritt (1) Verwenden Sie RelativeLayout als Elternteil.

Schritt (2) Für die Bildansicht verwenden wie diese ..

<ImageView 
       android:id="@+id/iv" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/content_frame" 
       android:layout_alignParentTop="@+id/content_frame" 
       android:layout_centerInParent="true" 
       android:src="@drawable/slider" /> 

Schritt (3) Nun id dieses Bild Blick in Ihrer Java-Klasse bekommen und setOnClickListener setzen. Jetzt klicken Sie einfach Ihren definierten Code zum Schließen und Öffnen. Vergewissern Sie sich, dass die Schublade geöffnet ist und schließen Sie die Schublade. Wenn die Schublade geschlossen ist, öffnen Sie die Schublade.

Sonst werde ich vorschlagen, dass Sie ActionBar NavigationDrawer für die gleichen verwenden .. Es ist sehr praktisch zu bedienen.

Ich habe die gleichen Sachen mit Navigation Schublade in einem meiner Projekt durchgeführt .. Es funktioniert wie Charme.

Hoffe, es hilft ..

EDIT

Wenn Sie ActionBar NavigationDrawer oder etwas anderes dann Ihr bevorzugtes Layout verwenden sollte wie folgt aussehen ..

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

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

      <FrameLayout 
       android:id="@+id/content_frame" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:fitsSystemWindows="true" > 

       <fragment 
        android:id="@+id/map" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        class="com.google.android.gms.maps.SupportMapFragment" /> 

      </FrameLayout> 

      <ImageView 
       android:id="@+id/iv" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/content_frame" 
       android:layout_alignParentTop="@+id/content_frame" 
       android:layout_centerInParent="true" 
       android:src="@drawable/ic_launcher" /> 



     </RelativeLayout> 




     <ListView 
      android:id="@+id/listview_drawer_two" 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="right" 
      android:background="@color/taxi_list_light" 
      android:choiceMode="singleChoice" 
      android:divider="@android:color/transparent" 
      android:dividerHeight="2dp" /> 

    </android.support.v4.widget.DrawerLayout> 

</RelativeLayout> 

einfach kopieren und einfügen Dieses Layout in einer neuen XML-Datei .. und sehen, wie es aussieht ..

Mehr dies über ich Ihnen einen Blick auf dieses Tutorial haben wird vorschlagen .. http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

Hoffe, es hilft!

+0

Ich habe Navigationsschublade verwendet. Aber wie kann ich die Navigationsschaltfläche in meiner benutzerdefinierten Position platzieren? irgendeine Idee?? – Maxwell

+0

Wie bereits erwähnt, müssen Sie RelativeLayout verwenden und Ihren IV wie erwähnt einsetzen. Bitte geben Sie Ihr Layout ein .. – AndroidHacker

+0

Überprüfen Sie die Bibliothek, die ich benutzt habe (über den Link) und sagen Sie mir, ob Sie eine Ahnung haben ... weil ich müssen Sie dies aus einem Bibliotheksprojekt nennen .. – Maxwell

0

Indem Sie in einer Fehlermeldung eine spannbare Zeichenfolge festlegen oder EditText erweitern und Ihren eigenen Fehlerzeichemechanismus überschreiben.