2016-03-10 8 views
7

Chcę wyświetlić widok obrazu na pasku narzędzi Android przed tytułem, ale nie działa, daje mi obraz po tytule po prawej stronie, czy ktoś może mi pomóc Chcę, aby obraz był w lewo na początku paska enter image description hereshowview na pasku narzędzi Android w lewym górnym rogu przed tytułem

Oto mój plan:

<?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> 

A oto aktywność

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); 
    } 

} 

Odpowiedz

8

Możesz spróbować użyć metody setIcon(). Wyjąć ImageView ze swojego Toolbar w pliku layoutu, a następnie dodaj następujące do Activity

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

EDIT: Możesz również dołączyć getSupportActionBar().setDisplayShowHomeEnabled(true);

+2

Myślę, że nadal potrzebuje 'getSupportActionBar() .setDisplayShowHomeEnabled (true); ' –

+0

@PPartisan to działa ale jak mogę wstawić spacje między imageview i title – bipin

+0

@ M.Sameer działa, ale jak mogę umieścić spacje między imageview i tytułem – bipin

1

J Ust dodać TextView Przed 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

mam zamiar to wykorzystać dla wszystkich moich działań, tak w ten sposób będę musiał użyć android: text = "title" dla każdego działania i to jest długotrwałe, używając tej metody – bipin

+0

, ale musisz dostosować pasek narzędzi, więc musisz to zrobić –

1

Wystarczy ustawić layout_gravity = "left" dla ImageView i layout_gravity = "center" dla TextView. Nadzieja Pomaga to:

<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> 
Powiązane problemy