Rembourrage de l'image de l'indicateur "up" de la barre d'action
Je suis à la recherche d'un moyen de style de l'ActionBar du "haut" de l'icône qui s'affiche lorsque vous avez configuré pour être affiché à partir de votre Activité :
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
J'ai regardé autour et a trouvé un moyen d'ajouter un rembourrage entre l'icône et le titre (Le remplissage entre les ActionBar la maison de l'icône et le titre), mais pas moyen d'ajouter un rembourrage entre l'icône et l'icône d'indicateur.
J'ai creusé ActionBarView.HomeView
dans la source android et il semble gonfler à la place de l'indicateur par cet appel :
mUpView = findViewById(com.android.internal.R.id.up);
Problème est le com.android.internal.R.id.up
est interne donc je ne peux pas y accéder, de sorte que le ci-dessus liés solution pour le rembourrage de l'icône de la maison ne fonctionne pas. Idéalement, j'aimerais remplacer le ActionBarView.HomeView
mais il est privé dans la ActionBarView
.
Personne ne sait si ActionBarSherlock fournit un bon moyen de remplacer ce comportement? J'ai songé à offrir un accueil personnalisé de mise en page, mais les fils que j'ai trouvé a indiqué qu'il ne serait pas une bonne idée de s'écarter de la norme android classes.
Des idées?
source d'informationauteur dgknipp | 2012-05-22
Vous devez vous connecter pour publier un commentaire.
Comme des API 15 le positionnement de ces éléments sont codés en dur dans la mise en page des ressources. La seule alternative que vous avez serait d'utiliser une navigation personnalisée mise en page pour créer votre propre et de cacher le haut-maison de navigation.
Cette solution
MAIS, tu vas être obligé de mettre ce code dans une Activité parent, ou dans chaque activité que vous souhaitez ajouter le rembourrage pour le bouton home.
Je suggère cette approche:
Créer un drawable couche-liste avec le code suivant:
Dans vos styles d'ajouter:
Pour les valeurs-11:
Pour les valeurs:
De cette façon vous serez en ajoutant un rembourrage entre le bouton et le bouton Accueil dans le compat actionbar, et vous aurez à ajouter ce code qu'une seule fois, et sera disponible dans l'ensemble de l'application!
Fait cette réponse est correct. Il suffit de régler le padding à gauche du bouton home et il va ajouter du rembourrage entre le domicile et le bouton flèche vers le haut
Ça marche peut-être si vous ajoutez le rembourrage pour les graphiques (Photoshop, par exemple) et de mettre ce graphique sur le thème avec l'attribut
Je voudrais juste ajouter à @blacksh33p répondre à comment obtenir le logo de l'ImageView tout en utilisant ActionBarSherlock de soutenir les anciens téléphones.
Dans mon téléphone portable, C'est DU travail.
La solution est ci-dessous::
Le plus important de la phrase est "android:droite=10dp"
Il suffit d'Ajouter le drawable Disposition Appeler "actionbar_back_selector"
Et de mettre ce Code
Et dans le Fichier Java (mise en page Qui vous avez besoin à la maison jusqu'bouton correspondant fichier java), Mettez ce code
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setHomeAsUpIndicator(R. drawable.actionbar_back_selector);
vous pouvez définir un style pour "HomeAsUpIndicator" en vous thème comme ceci:
<item name="toolbarNavigationButtonStyle">@style/MyToolbarNavigationButtonStyle</item>
dans lequel, le
toobarNavigationButtonStyle
est utilisé pour définir tous les styles pour cet indicateur, vous pouvez modifier la largeur et la paddingEnd pour agrandir l'écart entre elle et le texte du Titre.