Estou tentando criar um botão redondo, mas não sei como fazê-lo. Eu posso fazer um botão com cantos arredondados, mas como posso arredondar um círculo. Não é o mesmo. Por favor, diga-me, isso é possível no Android? Obrigado.
Estou tentando criar um botão redondo, mas não sei como fazê-lo. Eu posso fazer um botão com cantos arredondados, mas como posso arredondar um círculo. Não é o mesmo. Por favor, diga-me, isso é possível no Android? Obrigado.
Respostas:
Crie um arquivo xml nomeado roundedbutton.xml
na pasta drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#eeffffff" />
<corners android:bottomRightRadius="8dp"
android:bottomLeftRadius="8dp"
android:topRightRadius="8dp"
android:topLeftRadius="8dp"/>
</shape>
Finalmente defina-o como fundo para o seu Button
comoandroid:background = "@drawable/roundedbutton"
Se você quiser torná-lo completamente arredondado, altere o raio e aceite algo que seja adequado para você.
Se estiver usando o Android Studio, você pode simplesmente usar:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring">
<solid android:color="#FFFFFF"/>
</shape>
isso funciona bem para mim, espero que isso ajude alguém.
ring
não mostra nada. Melhor usar oval
.
Crie um arquivo drawable / button_states.xml contendo:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle">
<corners android:radius="1000dp" />
<solid android:color="#41ba7a" />
<stroke
android:width="2dip"
android:color="#03ae3c" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="1000dp" />
<solid android:color="#3AA76D" />
<stroke
android:width="2dip"
android:color="#03ae3c" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
</item>
</selector>
Use-o na tag button em qualquer arquivo de layout
<Button
android:layout_width="220dp"
android:layout_height="220dp"
android:background="@drawable/button_states"
android:text="@string/btn_scan_qr"
android:id="@+id/btn_scan_qr"
android:textSize="15dp"
/>
Botão circular do android de Markushi:
(Esta biblioteca está obsoleta e nenhum novo desenvolvimento está ocorrendo. Considere usar um FAB.)
<corners android:bottomRightRadius="180dip"
android:bottomLeftRadius="180dip"
android:topRightRadius="180dip"
android:topLeftRadius="180dip"/>
<solid android:color="#6E6E6E"/> <!-- this one is ths color of the Rounded Button -->
e adicione isso ao código do botão
android:layout_width="50dp"
android:layout_height="50dp"
Usou a forma como oval. Isso torna o botão oval
<item>
<shape android:shape="oval" >
<stroke
android:height="1.0dip"
android:width="1.0dip"
android:color="#ffee82ee" />
<solid android:color="#ffee82ee" />
<corners
android:bottomLeftRadius="12.0dip"
android:bottomRightRadius="12.0dip"
android:radius="12.0dip"
android:topLeftRadius="12.0dip"
android:topRightRadius="12.0dip" />
</shape>
</item>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#ffffff"
/>
</shape>
Defina isso em seus recursos de desenho XML e botão de uso e imagem simples com uma imagem redonda, usando seu desenho como plano de fundo.
Você pode criar uma ImageButton
imagem de fundo circular.
Se você deseja um botão circular com aparência da FAB e está usando a biblioteca oficial de componentes de material, pode fazê-lo facilmente desta maneira:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
app:cornerRadius="28dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:text="1" />
Resultado:
Se você alterar o tamanho do botão, tenha cuidado para usar metade do tamanho do botão como app:cornerRadius
.
Para um botão redondo, crie uma forma:
<?xml version="1.0" encoding="utf-8"?>
<stroke
android:width="8dp"
android:color="#FFFFFF" />
<solid android:color="#ffee82ee" />
<corners
android:bottomLeftRadius="45dp"
android:bottomRightRadius="45dp"
android:topLeftRadius="45dp"
android:topRightRadius="45dp" />
use-o como pano de fundo do link do seu botão
Sim, é possível, procure 9-patch no google. Bons artigos:
http://radleymarx.com/blog/simple-guide-to-9-patch/
http://ogrelab.ikratko.com/custom-color-buttons-for-android/
Isto é
android.R.drawable.expander_ic_minimized
olhar para drawables embutidos no Android:
Você pode usar o FloatingActionButton do Google
XMl:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_dialog_email" />
Java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FloatingActionButton bold = (FloatingActionButton) findViewById(R.id.fab);
bold.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Do Stuff
}
});
}
Gradle:
compile 'com.android.support:design:23.4.0'
e baixe-o, extra-o, dentro da pasta mipmap-hdpi.
copie a imagem da pasta mipmap-hdpi e cole-a na pasta drwable do seu projeto android.
Agora defina o plano de fundo como essa imagem.