На вашем месте я бы занялся созданием вашего собственного компонента пользовательского интерфейса.Документацию можно найти здесь Пользовательские компоненты Android .
Вы можете использовать метод onDraw () для рисования эллипсов и практически всего, что вам нужно.Затем потенциально добавьте номера, чтобы сформировать панель набора номера.Вы можете выводить текст через onDraw ().Что-то, что могло бы помочь, - Учебное пособие по винтажным термометрам , которое на самом деле рисует круглый термометр с цифрами на шкале, так что он может получить 65% пути, обеспечивая при этом хороший опыт обучения.Вам нужно будет убрать все, что связано с датчиками, однако это не так уж сложно.
Что касается набора номера, я не слишком уверен, хотя я бы сохранил числа, нажатые где-то в упражнении, затем имел бы «циферблат»"кнопка, которая при нажатии делает что-то вроде
try {
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:+436641234567"));
startActivity(intent);
} catch (Exception e) {
Log.e("Dialer", "Something went wrong dialing...", e);
}
Хотя с учетом вышеизложенного пользователю, возможно, придется нажимать набор в вашем приложении / виджете, а затем снова на фактическом экране набора, где будет заполнен номер.Кто-то здесь может добавить некоторую дополнительную информацию, но я еще ничего не видел, чтобы предположить, что вы можете набирать номер без явного нажатия пользователем клавиши в приложении набора номера телефона.
Вам также понадобится это разрешение вВаш манифест:
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
Я надеюсь, что ваш проект будет запущен.Если вы боретесь, я бы посоветовал вам начать с вызова, а затем разобраться в пользовательском интерфейсе.