Então, no momento eu tenho um botão que se parece com a primeira imagem acima. Como reduzo o preenchimento ao redor do texto dentro do próprio botão (para se parecer mais com a segunda imagem)?
A largura e a altura do layout são definidas como:
android:layout_width="match_parent"
android:layout_height="wrap_content"
A forma de estilo personalizado tem parâmetros "
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
Com o resto sendo apenas atributos de cores e valores de raios.
Só para deixar claro, quero que o quadro do botão fique mais próximo do texto "Login".
Toda ajuda e feedback são muito apreciados. Obrigado.
android:includeFontPadding="false"
Respostas:
Levei uma eternidade para encontrar isso, mas o "preenchimento" ao redor do texto em um botão não é realmente preenchimento. O estilo Widget.Button padrão inclui uma propriedade minHeight. Alterar minHeight no botão permitirá que você ajuste o preenchimento conforme o esperado.
fonte
tente isso em seu arquivo shape.xml personalizado
também você pode fazer alterações no xml do seu botão
fonte
Na Biblioteca de componentes de materiais, o
MaterialButton
tem um estilo padrão cominsetBottom
einsetTop
com um valor de6dp
.Você pode alterá-los no layout:
ou em um estilo:
fonte
Se você quiser um preenchimento superior e inferior menor, use este:
fonte
android:padding
ouandroid:layout_margin"
nas visualizações pai de<shape />
.Você pode usar o estilo Borderless em AppCompatButton como abaixo. Use também a cor de fundo de sua preferência.
Código do botão
Resultado:
fonte