在标题前左上角的android工具栏中显示imageview

时间:2016-03-10 10:23:03

标签: android

我想在标题之前在android工具栏上显示imageview但它不起作用,它在右侧标题后给我图像,任何人都可以帮我想要图像在工具栏的开头左边     enter image description here

这是我的布局:

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

这是活动

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

}

3 个答案:

答案 0 :(得分:9)

您可以尝试使用setIcon()方法。从布局文件中的ImageView移除Toolbar,然后将以下内容添加到Activity

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

修改:您可能还需要加入getSupportActionBar().setDisplayShowHomeEnabled(true);

答案 1 :(得分:4)

只需设置layout_gravity =&#34; left&#34;对于ImageView和layout_gravity =&#34; center&#34;对于TextView。希望这会有所帮助:

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

答案 2 :(得分:1)

只需在ImageView之前添加textView

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