it-swarm.com.ru

название андроида не будет отображаться на панели инструментов

У меня есть xml, который я использую с таким большим количеством действий с файлом фрагментов, но моя проблема в том, что я не могу отобразить нужный текст на панели инструментов, я использую этот xml таким образом, потому что у меня есть навигационный ящик и мне нужно кое-что обработать поэтому я должен был сделать это таким образом.

мой xml:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/frame_container"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    tools:context=".StatusActivity"
    Android:orientation="vertical" >

    <Android.support.v7.widget.Toolbar
        Android:id="@+id/toolbar"
        style="@style/ToolBarStyle"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:background="?attr/colorPrimary"
        Android:minHeight="@dimen/abc_action_bar_default_height_material" />

</RelativeLayout>

Одно из моих занятий:

public class GroupChatActivity extends ActionBarActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base_layout);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
         setSupportActionBar(toolbar);
         getSupportActionBar().setDisplayShowHomeEnabled(true);

         ActionBar actionBar = getSupportActionBar();
         actionBar.setTitle("Groups history");

        Aniways.init(this);

        if(savedInstanceState == null)
        {
            FragmentManager manager = getSupportFragmentManager();

            Fragment fragment = GroupChatFragment.newInstance(getIntent().getIntExtra("uid", 0));
            manager.beginTransaction().add(R.id.frame_container, fragment).commit();
        }
    }
}

как вы можете видеть, я пытаюсь установить заголовок панели действий, но он не работает.

26
Kareem Essam Gaber
getSupportActionBar().setDisplayShowTitleEnabled(true);
36
massaimara98

Окружение, 

app:title="@string/my_title"

в объявлении панели инструментов Android.support.v7.widget.Toolbar жестко кодирует заголовок на панели инструментов.

Чтобы установить заголовок программно,

Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
toolbar.setTitle("my title");
setSupportActionBar(toolbar);

в вашем классе деятельности.

20
Chad Mx

Попробуйте это .. этот метод работает для меня .. !! надеюсь, что это может помочь кому-то .. !!

<Android.support.v7.widget.Toolbar  
 xmlns:app="http://schemas.Android.com/apk/res-auto"  
 Android:id="@+id/my_awesome_toolbar"  
 Android:layout_width="match_parent"  
 Android:layout_height="wrap_content"  
 Android:background="?attr/colorPrimary"  
 Android:minHeight="?attr/actionBarSize"  
 app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >  

<TextView  
   Android:id="@+id/toolbar_title"  
   Android:layout_width="wrap_content"  
   Android:layout_height="wrap_content"  
   Android:layout_gravity="center"  
   Android:singleLine="true"  
   Android:text="Toolbar Title"  
   Android:textColor="@Android:color/white"  
   Android:textSize="18sp"  
   Android:textStyle="bold" />  

</Android.support.v7.widget.Toolbar>  

ПРАВКА

Вы также можете использовать это. 

setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
      getSupportActionBar().setTitle("Toolbar title");
8
Ragu Swaminathan

getActionBar().setTitle("Groups History");

или если вы используете библиотеки AppCompat;

getSupportActionBar().setTitle("Groups History");

1
Kyle Mew

Попробуйте toolbar.setTitle('Groups history');

1
csmurphy84

Я сделал настраиваемую панель действий.

Макет iguepardos_action_bar.xml с этим кодом 

<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:local="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@color/blanco"
Android:minHeight="?attr/actionBarSize">

    <TextView
    Android:id="@+id/toolbar_title"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="left"
    Android:singleLine="true"
    Android:text="Toolbar Title"
    Android:textColor="@color/naranja"
    Android:textSize="18sp" />

</Android.support.v7.widget.Toolbar>

В моем расширенном классе AppCompatActivity у меня было это:

protected void onCreate(Bundle savedInstanceState) {
.... 
....

getSupportActionBar().setDisplayShowCustomEnabled(true); // is for specify use custom bar 
getSupportActionBar().setCustomView(R.layout.iguepardos_action_bar);  // my custom layout
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Button for come back

View mCustomView = getSupportActionBar().getCustomView(); // Set the view
TextView TitleToolBar = (TextView) mCustomView.findViewById(R.id.toolbar_title); // find title control
TitleToolBar.setText("The Title Show"); // Set the Title

}
0
A. Senna