我在这里找到了一个示例项目,用于向Android项目添加“调节旋钮”:
http://go-lambda.blogspot.com/2012/02/rotary-knob-widget-on-android.html
总的来说,它运行良好。我的项目与示例有一些不同,但是最重要的是,我以编程方式(没有XML)向显示添加了旋钮小部件和“完成”按钮,如下所示:
activity.getWindowManager().getDefaultDisplay().getMetrics (app.metrics);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams
(300, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.topMargin = 100;
lp.bottomMargin = 598;
lp.leftMargin = 50;
lp.rightMargin = 348;
lp.height = 300;
lp.width = 300;
activity.addView (knob, lp);
lp = new RelativeLayout.LayoutParams (RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
int top = (int)(0.75 * app.metrics.heightPixels) - 40;
lp.topMargin = top - 100;
lp.leftMargin = 150;
lp.rightMargin = 100;
act.addView (b1, lp);
knob.requestFocus();
我喜欢图形的显示方式和位置(大部分时间),但是问题是,当旋钮旋转时,它似乎没有围绕其中心旋转,结果左右摆动(向上摆动) -和-向下)。它不会影响重要的内容,但是看起来很有趣,我想修复它。
最佳答案
最终,问题很简单(同时又很烦人)。示例项目提供的png文件是一个正方形,其中旋钮的图片未居中于正方形。我的Android应用程序显然没有旋转旋钮,而是旋转了png方形文件。真正令人讨厌的部分是(1)查找替换文件或(2)修复原始文件有多困难。幸运的是,我发现有人为项目2提供了适当的工具。我的建议:如果您需要在项目中做类似的事情,那么我建议的网站会非常有帮助,但是您需要依靠或修复实际情况。