2016-02-12 185 views
2

我知道你可以將圖標圖像添加到應用程序欄,但是我想知道是否有方法在Android上的應用程序欄中放置較大的徽標圖像。附件中的圖片將其放在應用程序欄後面,但我試圖在應用程序欄中找到它。這可能嗎?如何在Android應用程序欄中添加徽標圖像?

enter image description here

+0

http://stackoverflow.com/ a/16029214/2826147 –

回答

0

至於你的形象是大,長方形,你可以將它設置在你的動作條的背景:

final ActionBar actionBar = getActionBar(); 
BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); 
actionBar.setBackgroundDrawable(background); 

爲此,您可以創建一個activity說「BaseActivity」和onCreate添加片段方法,並在您想要顯示您的更改的所有活動中擴展該活動 或者您可以將不同的方形徽標設置爲應用圖標並將其設置爲您的操作欄圖標。

public BaseActivity extends Activity{ 
@override 
public void onCreate(Bundle bundle){ 
/// add snippet 
} 
} 

yourActivity/yourActivities extends BaseActivity 
+0

這段代碼在哪裏?每個活動的java文件? – Casey

+0

看到我更新的答案@Casey – KDeogharkar

1

1)使用最新的Android工具欄

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

<!-- Place your ImageView and Image--> 
<!-- mention image size--> 
</android.support.v7.widget.Toolbar> 

示例代碼:

<android.support.v7.widget.Toolbar 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
app:layout_scrollFlags="scroll|enterAlways" 
app:popupTheme="@style/AppTheme" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
> 

<LinearLayout 
    android:id="@+id/back_menu_ll" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center"> 
    <ImageView 
     android:id="@+id/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:src="@drawable/ic_logo" 
     /> 
    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Title" 
     android:textColor="@color/title_first_textcolor" 
     android:textSize="@dimen/abc_text_size_title_material" 
     android:gravity="left" 
     /> 
    </android.support.v7.widget.Toolbar> 

2)您可以通過編程設置標誌:

Toolbar tool_bar = (Toolbar) findViewById(R.id.app_bar); 
setSupportActionBar(tool_bar); 
tool_bar.setLogo(R.drawable.image); 

有關工具欄的詳細信息,檢查這個鏈接: http://developer.android.com/reference/android/widget/Toolbar.html

+0

此代碼是否在app_bar_home_page.xml文件或其他位置?我得到一個錯誤:錯誤解析XML:在這一行不匹配的標記「」 – Casey

+0

在Gradale文件中添加Appcompat Libary –

0

您需要添加的ImageView工具欄

+0

我試過這個,它給了我一個錯誤,說它必須是以# – Casey

+0

開頭的顏色值可以粘貼代碼嗎? – Rohit

2

有關最新API的XML應該是內部的,

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

活動是應該的,

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_layout); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); 
    toolbar.setLogo(R.drawable.ic_call_black_24dp); 
    setSupportActionBar(toolbar); 
} 
+0

試過這個,並得到一個錯誤:java.lang.RuntimeException:無法啓動活動ComponentInfo {edu.csusb.ossmassistant/edu.csusb.ossmassistant.home_page}:java.lang.IllegalStateException:已附加 – Casey

相關問題