简体   繁体   English

Android:设置自定义标题/操作栏-不起作用

[英]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): 我正在尝试如下设置自定义标题栏(请注意,此活动从FragmentActivity扩展,如果很重要):

...
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? 但是我根本看不到“自定义标题栏”,缺少什么?

Set actionbar.setDisplayShowCustomEnabled(true); 设置actionbar.setDisplayShowCustomEnabled(true); before actionBar.setCustomView(v); actionBar.setCustomView(v);之前actionBar.setCustomView(v);

EDIT 编辑

Here i past my code for Custom ActionBar creation 在这里,我过去了自定义ActionBar创建的代码

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM