Sposób obsłużyć to w moim Android gier jest wywołanie następującą linię w onCreate() mojej działalności
requestWindowFeature(Window.FEATURE_NO_TITLE);
mogę włącz możliwość pełnego ekranu i wyłączać za pomocą następującego kodu w moja klasa aktywności (zazwyczaj nazywany z opcji menu) (zmienna m_contentView jest widok z findViewById() przy użyciu identyfikatora, który został użyty podczas wywoływania setContentView() w Create)
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();
}
używam tej techniki w wszystkie moje gry bez problemu.
Dlaczego mówisz
requestWindowFeature (Window.FEATURE_NO_TITLE); nie jest oczywiście oczywiście
?
:: EDIT ::
Dobrze, jeśli starają się dynamicznie pokazać i ukryć go w trakcie trwania aktywności Nie jestem pewien, czy można to zrobić z oficjalnym Window Title z powodu listu, który ma wspomniano o funkcjach okna, które należy ustawić przed wywołaniem funkcji setContentView() (link)
Jedną rzeczą, którą można zrobić, jest zaimplementowanie własnego paska tytułu i dynamiczne pokazywanie i ukrywanie tego ... Połączyłem ten przykład, który powinien ustaw prawidłowy utwór
Oto plik układu
<?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>
A oto kod głównej działalności, która pozwoli na przełączanie nasz własny pasek tytułowy i wyłączanie
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);
}
}
});
}
}
To nie wygląda idealny, ale zawsze można grać z układ trochę więcej, aby to zrobić.
alt text http://i39.tinypic.com/120sfp1.png
Moja druga myśl jest, jeśli po prostu chcesz ukryć wszystko, aby pokazać pasek postępu, dlaczego nie użyć ProgressDialog?
Ta klasa jest dość łatwa w użyciu ...
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();
}
Czy chcesz mieć możliwość włączania i wyłączania? –
Tak. Aby być bardziej precyzyjnym, chcę pokazać pasek postępu, ale jest to związane z tytułem. – yanchenko