Android 布局标题栏不可见

Android layout title bar is not visible

我已经创建了 xml 布局文件。当我将其作为内容提供给 Activity 时,标题栏不可见。我怎样才能让它可见。我尝试使用 setTitle("Title");

protected void onCreate(Bundle savedInstanceState) { 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
super.onCreate(savedInstanceState); 
Bundle b = getIntent().getExtras(); 
int layoutId = b.getInt("layout");
Log.d("====>>>", " " + layoutId);
setContentView(layoutId); 
setTitle("Title"); 
}

onCreate() 方法中的函数。我没有工作。这是我的 xml 文件。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.universityapp.enrollee.FacultyInformationActivity"
    android:scrollbars="vertical"
    >

     <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/text_faculty_information_agro"
        android:textSize="15dp"
        android:textAlignment="center"
    />
</RelativeLayout>
</ScrollView>

我通过 ListView 启动 activity:

 profListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            switch (position){
                case 0:
                    facultyInfoIntent = new Intent(getBaseContext(), FacultyInformationActivity.class);
                    Bundle b = new Bundle();
                    b.putInt("layout", facultyLayoutNames[position]);
                    facultyInfoIntent.putExtras(b);
                    startActivity(facultyInfoIntent);
            }

            Log.d("Selected faculty", facultiNames[position]);
        }
    });

这是我的清单:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.universityapp.universityapp" >

    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity android:name="com.universityapp.common.MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.universityapp.common.MenuActivity"
            android:label="Главное меню" >
        </activity>
        <activity
            android:name="com.universityapp.enrollee.ContacsActivity"
            android:label="Наши контакты" >
        </activity>
        <activity
            android:name="com.universityapp.enrollee.Map"
            android:label="@string/title_activity_map" >
        </activity>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name="com.universityapp.enrollee.MapsActivity"
            android:label="@string/title_activity_maps" >
        </activity>
        <activity
            android:name="com.universityapp.bachelor.PlatonusActivity"
            android:label="@string/title_activity_platonus" >
        </activity>
        <activity
            android:name="com.universityapp.database.DatabaseActivity"
            android:label="@string/title_activity_database" >
        </activity>
        <activity
            android:name="com.universityapp.enrollee.EnrUniversityInfo"
            android:label="@string/title_activity_enr_university_info" >
        </activity>
        <activity
            android:name="com.universityapp.enrollee.ProfessionsActivity"
            android:label="@string/title_activity_professions" >
        </activity>
        <activity
            android:name="com.universityapp.enrollee.FacultyInformationActivity"
            android:label="@string/title_activity_faculty_information" >
        </activity>
    </application>

</manifest>

要显示标题栏,您可以在 onCreate:

中使用它
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

你可以这样做(如suggested by HafizWaleedHussain):

public void showTitle() {
            try {
                    ((View) findViewById(android.R.id.title).getParent())
                                    .setVisibility(View.VISIBLE);
            } catch (Exception e) {
            }
            getWindow().addFlags(
                            WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

如果这不起作用,请打开您的 Android 清单文件并删除此行(如果存在):

 android:theme="@android:style/Theme.NoTitleBar"

我找到答案了!我已将 Activity 更改为 ActionBarActivity 并且有效!

变化:

public class MainActivity extends Activity{

}

在您的 class 文件中:

public class MainActivity extends AppCompatActivity{

}
I removed the statement android:theme="@style/AppTheme" in the application tag and the bar started appearing

   <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        **android:theme="@style/AppTheme"**>

了解 styles.xml 并创造新风格

<style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
        <item name="android:windowNoTitle">false</item>
     </style>

并从清单中调用它(您还可以在项目标签内添加其他功能)

 <activity
            android:name=".st.activity.MyGoogleMap"
            android:theme="@style/CustomWindowTitleBackground">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>