我正在为Android开发一个软键盘,旨在扩展原始8pen键盘(现已停用)。我已经实现了基本结构,现在想让键盘的大小可由用户配置。
是否有一种方法可以配置键盘的高度和宽度? 由于有些人询问了我的代码,以下是一个片段,完整的最新版本可以在此处找到 -> 8Vim。
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
/*Logging stuff*/
int width = View.MeasureSpec.getSize(widthMeasureSpec);
int height = View.MeasureSpec.getSize(heightMeasureSpec);
/*Various other Stuff*/
radius = (0.325f * width) / 2;
centre = new PointF((width/2),(height/2));
circle = new Circle(centre, radius);
// Set the new size because the "onMeasure" contract so specifies
setMeasuredDimension(width, height);
Logger.v(this, "onMeasure returns");
}
更新:
我发现InputServiceMethod类有一个名为getMaxWidth()的方法。如果我在负责显示键盘的视图类中将键盘的宽度设置小于这个值,那么键盘右侧的剩余区域会变黑并且不能使用。
我认为如果我在视图类中更改键盘的高度,可能可以实现我想要的效果,但是...是否可以根据用户的需求更改视图的高度?欢迎提供建议/想法/经验。