2015-05-06 3 views
0

Я пытаюсь установить пользовательские строки заголовка следующим образом (обратите внимание на эту деятельность распространяется от FragmentActivity, если это имеет значение):Android: Настройка пользовательского заголовка/Бар Действие - не работает

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

Но я не вижу Пользовательская панель заголовка вообще, чего не хватает?

+0

Попробуйте распространяющийся на ActionBarActivity и не фрагментировать деятельности – goonerDroid

+3

На самом деле actionbaractivity устарели; использовать AppCompatActivity – Eenvincible

+0

На какой версии Android вы используете свой код? – Praveen

ответ

2

Набор actionbar.setDisplayShowCustomEnabled(true); перед тем actionBar.setCustomView(v);

EDIT

Вот я мимо мой код для создания пользовательского 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); 
+0

Meenaxi> Казалось, что это работает частично .. панель действий по умолчанию продолжает показывать вместе с моим пользовательским названием. Кажется странным .. – Jasper

+0

вы можете вставить несколько снимков экрана вашей панели действий? – Meenaxi

+0

Это примерно выглядит так: [AppIconHere App_Name My-Custom-Title-Here], в то время как ожидается только [My-Custom-Title-Here] – Jasper

 Смежные вопросы

  • Нет связанных вопросов^_^