No site do Android, há uma seção sobre drawables coloridos . A definição desses drawables em xml tem a seguinte aparência:
<resources>
<drawable name="solid_red">#f00</drawable>
<drawable name="solid_blue">#0000ff</drawable>
<drawable name="solid_green">#f0f0</drawable>
</resources>
Na API Java, eles têm o seguinte método para definir cantos arredondados:
setCornerRadius(float radius)
Existe uma maneira de definir os cantos arredondados no xml?
Respostas:
Use a
<shape>
tag para criar um drawable em XML com cantos arredondados. (Você pode fazer outras coisas com a tag de forma, como definir um gradiente de cor também).Aqui está uma cópia de um arquivo XML que estou usando em um de meus aplicativos para criar um drawable com um fundo branco, borda preta e cantos arredondados:
fonte
A resposta de mbaird funciona bem. Esteja ciente de que parece haver um bug no Android (2.1 pelo menos), que se você definir qualquer raio de canto individual para 0, ele força todos os cantos para 0 (pelo menos é o caso com unidades "dp"; tente com quaisquer outras unidades).
Eu precisava de uma forma em que os cantos superiores fossem arredondados e os inferiores quadrados. Consegui isso definindo os cantos que queria que fossem quadrados com um valor um pouco maior que 0: 0,1 dp. Isso ainda é renderizado como cantos quadrados, mas não força os outros cantos a terem raio 0.
fonte
Experimente o código abaixo
fonte