The reason I didn`t want to create custom actionBar is that actionBar in my application contain only basic things like logo and title. Plus I already found how to control logo.
But in the end, as Souto suggested, I created my own custom view:
java code (public class with static method):
import android.app.ActionBar;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
public class MyActionBar {
static void CreateActionBar(ActionBar ab, Activity ac, String str) {
ab.setDisplayShowHomeEnabled(false);
ab.setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(ac);
View mCustomView = mInflater.inflate(R.layout.action_bar, null);
TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
mTitleTextView.setText(str);
ab.setCustomView(mCustomView);
ab.setBackgroundDrawable(ac.getResources().getDrawable(R.drawable.action_bar));
ab.setDisplayShowCustomEnabled(true);
}
}
action_bar.xml relative layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80dp"
android:background="@android:color/transparent" >
<ImageView
android:id="@+id/image"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:src="@drawable/logo" />
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:layout_marginLeft="10dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="9dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/green"
android:textStyle="normal"
android:fontFamily="sans-serif-light"
android:textSize="34sp" />
</RelativeLayout>
styles.xml:
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:background">@android:color/transparent</item>
<item name="android:actionBarSize">80dp</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="MyActionBar" parent="android:Widget.Holo.ActionBar" >
<item name="android:displayOptions"></item>
<item name="android:background">@drawable/action_bar</item>
</style>
and in each activity:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar mActionBar = getActionBar();
MyActionBar.CreateActionBar(mActionBar, this, "My title");
......................................