2016-03-10 11 views
7

Voglio mostrare imageview sulla barra degli strumenti di Android prima del titolo, ma non funziona, mi dà un'immagine dopo titolo sul lato destro, qualcuno può aiutare voglio che l'immagine sia sinistra, all'inizio della barra degli strumenti enter image description heremostra imageview nella barra degli strumenti di Android nell'angolo in alto a sinistra prima del titolo

Ecco il mio layout:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.astro.famouspandit.Activities.Abstract.AbstractActivity"> 



     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="#0F6177" 
      app:popupTheme="@style/AppTheme.PopupOverlay" > 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/imageViewplaces" 
       android:src="@drawable/ic_question_mark" 
       /> 
      </android.support.v7.widget.Toolbar> 




</android.support.design.widget.CoordinatorLayout> 

Ed ecco l'attività

package com.astro.famouspandit.Activities.Abstract; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 

import com.astro.famouspandit.Activities.Activity.ChartStyle; 
import com.astro.famouspandit.Activities.Activity.SelectLanguage; 
import com.astro.famouspandit.R; 

public class AbstractActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_abstract); 



     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 


    } 


    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu, menu); 
     return true; 


    } 

    public boolean onOptionsItemSelected(MenuItem item){ 
     int items = item.getItemId(); 
     switch(items){ 

      case R.id.action_Language:{ 
       Intent intent = new Intent(this,SelectLanguage.class); 
       startActivity(intent); 
      }break; 

      case R.id.action_CharStyle:{ 
       Intent intent = new Intent(this,ChartStyle.class); 
       startActivity(intent); 

      }break; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

} 

risposta

8

Si potrebbe provare a utilizzare il metodo setIcon(). Rimuovere il ImageView dal Toolbar nel file di layout, e aggiungere il seguente al vostro Activity

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
getSupportActionBar().setIcon(R.drawable.ic_question_mark); 

Edit: Potrebbe anche essere necessario includere getSupportActionBar().setDisplayShowHomeEnabled(true);

+2

Penso che sia ancora necessario 'getSupportActionBar() .setDisplayShowHomeEnabled (true); ' –

+0

@PPartisan suo funzionamento ma come posso inserire gli spazi tra imageview e titolo – bipin

+0

@ M.Sameer funziona, ma come posso inserire spazi tra imageview e titolo – bipin

1

J Ust aggiungere un textView Prima ImageView

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="#0F6177" 
    app:popupTheme="@style/AppTheme.PopupOverlay"> 

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/title" 
       android:text="title"/> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/imageViewplaces" 
       android:torightof="@id/title" 
       android:src="@drawable/ic_question_mark"/> 
    </RelativeLayout> 
</android.support.v7.widget.Toolbar> 
+0

ho intenzione di usare questo per tutte le mie attività in modo in questo modo dovrò usare android: text = "title" per ogni attività e questa durata utilizzando questo metodo – bipin

+0

ma devi personalizzare la tua barra degli strumenti, quindi devi farlo –

1

Basta impostare il layout_gravity = "left" per ImageView e layout_gravity = "center" per TextView. Spero che questo aiuti:

<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" android:layout_height="wrap_content" 
android:id="@+id/toolbar" 
android:background="?attr/colorPrimaryDark" 
android:minHeight="?attr/actionBarSize" 
android:fitsSystemWindows="true" 
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@mipmap/ic_launcher" 
    android:layout_gravity="left"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Title" 
    android:layout_gravity="center"/> 
</android.support.v7.widget.Toolbar> 
Problemi correlati