Ich habe eine App, die das AppCompat-Design und eine benutzerdefinierte Toolbar verwendet, die den App-Namen und eine searchView enthält. Wenn das searchView auf einem Bildschirm in Telefongröße geöffnet wird, ist nicht genug Platz für textView mit dem App-Namen und der geöffneten searchView, sodass die Symbolleiste vertikal erweitert wird und schlecht aussieht.App-Name in ToolBar ausblenden, wenn SearchView ihn überlappt
Um dies zu beheben, ich die Textview mit dem App-Namen entfernen, wenn die Suche öffnet:
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
title.setVisibility(View.GONE);
}
});
Und es brig zurück, wenn die Suche schließt:
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
title.setVisibility(View.VISIBLE);
return false;
}
});
jedoch auf einem größeren Bildschirm Gerät, wie ein Tablet, ist dies nicht notwendig und der Name verschwindet gerade seltsam.
Gibt es eine Möglichkeit, zu überprüfen, ob Platz für die searchView ist, und den Namen der App nur bei Bedarf zu entfernen? Ich weiß, dass ich das wahrscheinlich nach Bildschirmgröße, dpi oder ähnlichem tun kann, aber ich frage mich, ob es eine bessere Möglichkeit gibt, dieses Szenario zu erkennen.