Ausblenden der Aktionsleiste in einem Fragment-Aktivität
Ich bin der Schaffung der Rahmenbedingungen für eine app und möchten ausblenden der Aktionsleiste für die login-Aktivität. Die app wird vollständig aus Fragmenten, weil Sie Klasse sind.
Kann ich ausblenden der Aktionsleiste gut für meine Aktivität, aber jedes mal, wenn ich die app starte, sehe ich mein aufgeblasenes leeres fragment und Standard-action-bar für etwa 2 Sekunden, bevor es ihm gelingt, Blasen Sie die login-fragment.
Jede Idee, wie /wo sollte ich das ausblenden der Aktionsleiste (während mein framework), um dies zu verhindern?
LoginActivity.java
public class LoginActivity extends SingleFragmentActivity {
@Override
protected Fragment createFragment() {
return new LoginFragment();
}
}
SingleFragmentActivity.java
public abstract class SingleFragmentActivity extends ActionBarActivity {
protected abstract Fragment createFragment();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(this instanceof LoginActivity){
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
}
setContentView(R.layout.activity_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction()
.add(R.id.fragmentContainer, fragment)
.commit();
}
}
}
LoginFragment.java
public class LoginFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_login, parent, false);
return v;
}
}
Ursprünglich hatte ich SingleFragmentActivity erweitern FragmentActivity und Tat dies in der if-Anweisung:
requestWindowFeature(Window.FEATURE_NO_TITLE);
Aber ich habe das Gefühl, dass das ist einfach eine andere Art, das gleiche zu tun,
Edit:
Ich habe auch versucht, die Einstellung der fragment_activity, verwenden Sie einen anderen Stil, aber es scheint nicht zu funktionieren:
<style name="NoActionBar" parent="Widget.AppCompat.ActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
</style>
InformationsquelleAutor Daniel Wilson | 2013-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay nach ein paar Stunden ich denke ich habe die Lösung gefunden zu halten, Fragmente, in der Platz für alles und das entfernen der action bar (für alle Geräte) für die Start-Aktivität nur:
Android-Manifest:
Wo der Stil ist definiert als etwa so:
Dauerte eine Weile, um herauszufinden, weil es kein Thema.AppCompat.Licht.NoActionBar , die action-bar ist im Grunde bekannt als die Titelleiste in der älteren APIs, und wenn ich angewendet, dass Stil, um die Aktivität an sich (die ich dachte, war der einzige Weg, der Verwendung von dynamischen Themen) es scheint nicht, überhaupt zu arbeiten.
Ich hoffe das die Lösung einfach wird, halten Sie die action-bar für alle anderen Tätigkeiten, und es kann jemandem helfen, in der Zukunft 🙂
InformationsquelleAutor Daniel Wilson
versuchen Sie dies:
oder
InformationsquelleAutor The Badak
Daniel Wilson ' s Kommentar oben funktioniert, aber nur einen geringen Unterschied, wie ich es Tat.
Ich habe nicht definieren Stil an alle, ich habe in AndroidManifext.xml ist, dass ich Hinzugefügt dies zu meiner Aktivität:
So, ich hab mich nicht neu definieren Stil für NoActionBar, habe ich nur noch es vom Thema.AppCompat
InformationsquelleAutor pixel
Ich bin mit diesem code in der Aktivität.onCreate()
InformationsquelleAutor Girts Strazdins