如何在Android中创建圆形电话屏幕?

时间:2011-09-26 14:49:57

标签: android android-layout android-widget android-custom-view

我是Android新手,我想创建圆形电话拨号屏幕? 那么如何创建一个屏幕?哪个组件需要使用LinearLayout / FrameLayout / RelativeLayout,以及如何为所有分辨率设置图片?

1 个答案:

答案 0 :(得分:2)

如果我是你,我会考虑创建自己的自定义UI组件。文档可以在Android Custom Components找到。

您可以使用onDraw()方法绘制省略号以及您需要的其他任何内容。然后可能添加数字以形成拨号盘。您可以通过onDraw()输出文本。可能有帮助的东西是Vintage Thermometer Tutorial它实际上绘制了一个带有数字刻度的圆形温度计,所以它可以让你获得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> 

我希望这会让你的项目正在进行中。如果你正在努力,我建议你先打电话然后整理自定义用户界面。