Como faço para projetar um controle de Android personalizado e uso no XML?
-
26-09-2019 - |
Pergunta
Entendo como criar um controle Android personalizado e acredito que entendo como extrair atributos para ele no layout XML. Não sei, no entanto, como obter elementos de crianças.
Aqui está um exemplo visual do que estou tentando realizar:
public class Menu extends LinearLayout
{
// Custom Code
}
public class MenuItem extends Button
{
// Custom Code
}
<!-- Layout -->
<?xml version="1.0" encoding="utf-8"?>
<Menu>
<MenuItem/>
<MenuItem/>
</Menu>
Quando meu menu é criado, como faço para obter referências aos dois menitems?
Solução
Você deve usar um android:id
fazer isso. Se você não souber quantas crianças você terá:
LinearLayout
estende -se ViewGroup, então você pode usar getChildAt()
e getChildCount()
Para obter essas visualizações.
Outras dicas
Para aderir a qualquer controle (costume ou sistema), um ID é uma obrigação. Ao especificar um ID, você dá uma identidade única. Usando este ID, você pode obter uma referência a esse controle.