Con đường tôi xử lý này trong các trò chơi Android của tôi là để gọi dòng sau trong onCreate() của Hoạt động của tôi
requestWindowFeature(Window.FEATURE_NO_TITLE);
sau đó tôi có thể biến khả năng toàn màn hình tắt và về việc sử dụng đoạn mã sau vào lớp hoạt động của tôi (thường được gọi là từ một tùy chọn trình đơn) (biến m_contentView là quan điểm từ findViewById() sử dụng id mà bạn sử dụng khi gọi setContentView() ở trên bạn tạo)
private void updateFullscreenStatus(boolean bUseFullscreen)
{
if(bUseFullscreen)
{
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
else
{
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
m_contentView.requestLayout();
}
tôi sử dụng kỹ thuật này trong tất cả các trò chơi của tôi không có vấn đề gì.
Tại sao bạn nói
requestWindowFeature (Window.FEATURE_NO_TITLE); không phải là một tùy chọn của khóa học
?
:: EDIT ::
Vâng, nếu bạn đang cố gắng để tự động hiển thị và ẩn nó trong suốt cuộc đời của hoạt động này tôi không chắc chắn nếu bạn có thể làm điều đó với Window Title chính thức do sự lưu ý rằng có đã được đề cập về các tính năng cửa sổ cần phải được đặt trước khi setContentView() được gọi là (link)
Một điều bạn có thể làm là thực hiện thanh tiêu đề của riêng mình và tự động hiển thị và ẩn ... Tôi đặt cùng ví dụ này đặt bạn o nthe theo dõi đúng
Đây là tệp bố cục
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:fadingEdgeLength="0sp"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTitleBarLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/myTitleBarTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:paddingTop="4dip"
android:paddingBottom="4dip"
android:paddingLeft="6dip"
android:textStyle="bold"
android:shadowColor="#BB000000"
android:shadowRadius="3.0"
android:shadowDy=".25"
/>
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#CCEEEEEE"
android:padding="10dip"
/>
</LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<!-- Insert your regular layout stuff here -->
<Button android:id="@+id/toggle_title_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toggle Title"
/>
</ScrollView>
</LinearLayout>
Và đây là mã cho các hoạt động chính mà sẽ cho phép bạn chuyển đổi thanh tiêu đề tùy chỉnh của chúng tôi và tắt
package com.snctln.test.HelloGridView;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class HelloGridView extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView)this.findViewById(R.id.myTitleBarTextView);
tv.setBackgroundColor(0xFF848284);
tv.setTextColor(0xFFFFFFFF);
Button toggleTitleButton = (Button)this.findViewById(R.id.toggle_title_button);
toggleTitleButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
LinearLayout ll = (LinearLayout)findViewById(R.id.myTitleBarLayout);
if(ll.getVisibility() == View.GONE)
{
ll.setVisibility(View.VISIBLE);
}
else
{
ll.setVisibility(View.GONE);
}
}
});
}
}
Nó không giống hoàn hảo, nhưng bạn luôn có thể chơi với các bố trí một số chi tiết để làm điều đó.
alt text http://i39.tinypic.com/120sfp1.png
suy nghĩ khác của tôi là nếu bạn chỉ muốn giấu tất cả mọi thứ để hiển thị một thanh tiến trình lý do tại sao không sử dụng ProgressDialog?
Lớp học này khá dễ sử dụng ...
progressDlg = ProgressDialog.show(context, getString(R.string.progress_dialog_title_prepare), getString(R.string.progress_dialog_body_prepare));
// do long running operation
if(operationFailed)
{
progressDlg.cancel();
}
else
{
progressDlg.dismiss();
}
Vì vậy, bạn muốn có thể bật và tắt theo ý muốn? –
Có. Để chính xác hơn, tôi muốn hiển thị thanh tiến trình, nhưng điều đó được kết hợp với tiêu đề. – yanchenko