3

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

4

1 回答 1

2

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

您可以使用 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> 

我希望这能让你的项目开始。如果您正在苦苦挣扎,我建议您先拨打电话,然后整理自定义 UI。

于 2011-12-17T13:00:41.257 回答