Не претендую на ответ, но - прежде чем городить кастомные контролы и прочую нетрадиционщину - потрудитесь прочесть минимальную литературу по теме и понять ее. И тогда не будет вопросов "как что то накодить в Android Studio". Вы хоть в блокноте можете этот код написать. Простите, но накипело уже.
Про фокус - такого понимания нет в андроиде для кнпоки. И не надо его городить. Следуйте гайдлайнам гугла. Круглые кнопки - туда же.