2016-06-17 12 views
-1

Ich bin ein Entwickler von Android-Anwendungen. Ich suche eine schnelle und bequeme Möglichkeit, die Menüstruktur für meine Anwendung, die ich erstelle, zu erreichen. Unten ist eine Taylor Swift App mit genau der Menüstruktur, die ich gerne erreichen würde. Irgendwelche Vorschläge oder Beispielcode würden geschätzt. Vielen Dank. enter image description hereAndroid vertikale Tabs Menü an der Unterseite

Antwort

0

Probieren Sie etwas wie diese Aufmerksamkeit

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" 
    tools:context="com.example.simarzhov.weights.MainActivity"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="@drawable/ic_20x60_24bp"></LinearLayout> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/ic_20x80_24bp" 
      android:layout_gravity="bottom"></LinearLayout> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="@drawable/ic_30x40_24bp"></LinearLayout> 
    </LinearLayout> 
</RelativeLayout> 

Pay android:layout_gravity="bottom"

P. S. Ich verstehe, dass dies nicht sehr elegant ist, aber wenn Sie konstante untere Menü haben, könnte es hilfreich sein.

1

Sie müssen eine benutzerdefinierte Version eines TextView erstellen, um dies zu erreichen. Eine Lösung kann here gefunden werden Ich gebe den folgenden Code.

public class VerticalTextView extends TextView{ 
    final boolean topDown; 

    public VerticalTextView(Context context, AttributeSet attrs){ 
     super(context, attrs); 
     final int gravity = getGravity(); 
     if(Gravity.isVertical(gravity) && (gravity&Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) { 
     setGravity((gravity&Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP); 
     topDown = false; 
     }else{ 
     topDown = true; 
     } 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ 
     super.onMeasure(heightMeasureSpec, widthMeasureSpec); 
     setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth()); 
    } 

    @Override 
    protected void onDraw(Canvas canvas){ 
     TextPaint textPaint = getPaint(); 
     textPaint.setColor(getCurrentTextColor()); 
     textPaint.drawableState = getDrawableState(); 

     canvas.save(); 

     if(topDown){ 
     canvas.translate(getWidth(), 0); 
     canvas.rotate(90); 
     }else { 
     canvas.translate(0, getHeight()); 
     canvas.rotate(-90); 
     } 


     canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop()); 

     getLayout().draw(canvas); 
     canvas.restore(); 
    } 
} 
+0

Danke. Es hat gut funktioniert. Upvoted. Ich habe versucht, den Drehwinkel() für verschiedene Ergebnisse zu ändern. Ich war nicht sehr erfolgreich –