Jasper
Jasper

Reputation: 8705

Android: Setting Custom Title/Action Bar - not working

I am trying to set a custom Title Bar as follows (please note this activity extends from FragmentActivity if it matters):

...
import android.support.v4.app.FragmentActivity;
...
public class MyActivity extends FragmentActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        android.app.ActionBar actionBar = this.getActionBar();
        LayoutInflater inflator = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflator.inflate(R.layout.window_title, null);    
        TextView tv = (TextView) v.findViewById(R.id.titlex);    
        tv.setText("My Title");

        actionBar.setCustomView(v);                

        setContentView(R.layout.myactivity);
    }
    ...
}

But i do not see the Custom Title Bar at all, what is missing?

Upvotes: 0

Views: 702

Answers (1)

Meenaxi
Meenaxi

Reputation: 567

Set actionbar.setDisplayShowCustomEnabled(true); before actionBar.setCustomView(v);

EDIT

Here i past my code for Custom ActionBar creation

// Action Bar Customization
    ActionBar ab =act.getActionBar();

    ColorDrawable colorDrawable = new ColorDrawable(act.getResources().getColor(color.ActionBar_bg));
    ab.setBackgroundDrawable(colorDrawable);


    ab.setDisplayShowTitleEnabled(false); // disables default title on
                                            // actionbar.
    ab.setDisplayShowCustomEnabled(true); // enables custom view.
    ab.setDisplayShowHomeEnabled(false); // hides app icon.
    ab.setTitle("");
    // Inflating Layout
    LayoutInflater inflater = (LayoutInflater) act.getActionBar()
            .getThemedContext().getSystemService(LAYOUT_INFLATER_SERVICE);

    View customActionBar = inflater.inflate(R.layout.actionbar_layout, null);
    txtUserName=(TextView)customActionBar.findViewById(R.id.txtUserName);

    ab.setCustomView(customActionBar);

Upvotes: 2

Related Questions