2017-10-21 2 views
0

Ich bin ein togglebutton in toolbar mit diesem Code erstellen tyring: enter image description hereTitlebar erhalten in ToggleButton in Toolbar

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="#acacac"> 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="#acacac" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
     <View 
      android:layout_width="match_parent" 
      android:layout_height="2dp" 
      android:layout_alignParentBottom="true" 
      android:background="#202020" /> 
     <ToggleButton 
      android:id="@+id/toggleButton" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:background="@drawable/check" 
      android:layout_margin="10dp" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:textOn="" 
      android:textOff="" 
      android:layout_centerVertical="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 
    </RelativeLayout> 
</android.support.design.widget.AppBarLayout> 

aber wenn ich gesetzt Titel der Titel in erhalten oder wird mit einem ToggleButton verschmolzen:

+1

wo soll es links rechts oder unten erscheinen? – Xenolion

+0

@Xenolion Lwhen ich einen kleinen Titel habe ich kein Problem, aber wenn ich einen großen Titel, Titel Text in toggleButton wie folgt setzen https://i.imgur.com/pTTHtu0.png –

+1

So bist du in Ordnung wenn das Wort wie ** Stapelüberlauf bla sein muss ... (die Umschalttaste hier) ** siehe die drei Punkte berührt es nicht – Xenolion

Antwort

1

Die gute Nachricht über Toolbar nicht wie die alten ActionBar ist, dass Symbolleisten leicht anpassbar sind. So habe ich Ihr Layout angepasst. Zuerst habe ich das horizontale lineare Layout Linear Layout als Ansicht in Ihrer Toolbar hinzugefügt. Und ich habe die ToggleButton entfernt und hinzugefügt es in LinearLayout direkt nach der ein TextView, die jetzt Ihre App Titel sein wird. Und wenn es Ihnen nichts ausmacht, können Sie den Titel direkt über XML setzen. Dies ist Ihre neue Toolbar Bitte löschen Sie zuerst (oder verbergen Sie) Ihre ToogleButton und Toolbar und fügen Sie den folgenden Code an Stelle, wo Ihre Toolbar war.

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary"> 

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

     <TextView 
      android:id="@+id/title" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="4dp" 
      android:layout_weight="1" 
      android:ellipsize="end" 
      android:lines="1" 
      android:text="title here or even @string/Something" 
      android:textColor="#ffffff" 
      android:textSize="20sp" /> 

     <ToggleButton 
      android:id="@+id/toggleButton" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:background="@drawable/check" 
      android:focusable="false" 
      android:focusableInTouchMode="false" 
      android:textOff="" 
      android:textOn="" /> 
    </LinearLayout> 
</android.support.v7.widget.Toolbar> 

Dies ist, wie es bisher in meinem Android-Studio aussieht:
Wenn Sie Ihren Text länger festlegen möchten ist, dass Sie die Punkte sehen (...) Wenn sein kleiner Sie es sehen alle.

Showing Longer words cropped

Ab sofort lässt man Gespräche über Änderungen in Ihrem Code.

Ihr Toolbar Titel ist der Wert in Ihrem TextView Sie brauchen die Linie nicht mehr.

toolbar.setTitle("stackoverflow"); 

Sie können Ihre TextView direkt in xml oder in Java Code verwenden. Denken Sie daran, Sie können auch TextSize wie ein normales Layout erhöhen. In Code können Sie

verwenden
TextView text_title=(TextView)findViewById(R.id.title); 
text_title.setText("stack Overflow"); 

Happy Coding!