Как создать экран Круглый телефон в Android? - PullRequest
3 голосов
/ 26 сентября 2011

Я новичок в Android и хочу создать экран набора номера «Круглый телефон»? так как создать экран? Какой компонент нужно использовать LinearLayout / FrameLayout / RelativeLayout, и как настроить изображения для всех разрешений?

1 Ответ

2 голосов
/ 17 декабря 2011

На вашем месте я бы занялся созданием вашего собственного компонента пользовательского интерфейса.Документацию можно найти здесь Пользовательские компоненты 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> 

Я надеюсь, что ваш проект будет запущен.Если вы боретесь, я бы посоветовал вам начать с вызова, а затем разобраться в пользовательском интерфейсе.

...