Tag: android custom view

如何在Android中的图像上创建自定义点击形状?

我想创建一个可点击的图像,我的图像中有一些不同的可点击部分,如下所示: 我想绘制一个自定义的形状,如:A,B,C,D,E,F,并确保当用户点击这件事时。 问题是我没有任何想法,如何创建形状像图像中的形状,确保它只是固定在图像上,在不同的屏幕尺寸不会看到一个混乱的东西。

自定义键盘 – Android

在inputText上是否有任何已知的inputTypes组合,它们会为Num-pad键盘提供特殊字符,如$ , * , #和& 。 我试图允许用户输入一个数字,该字段也可以采用上述字符。 我尝试了很多,但似乎没有人提供所需的输出。 我是否必须为此创建自己的自定义键盘? 由于我的请求对某些特殊字符非常具体,请不要将此标记为重复的问题。 提前致谢。

通过在自定义视图的onDraw中设置单位矩阵来偏移canvas

我通过canvas.setMatrix(matrix);在自定义视图的onDraw方法中为我的canvas设置了一个矩阵canvas.setMatrix(matrix); 然后我只使用预定义的颜料绘制网格: canvas.drawRect(0,0,viewWidth,viewHeight, background); for(int i=0; i <= nRows; i++){ canvas.drawLine(0,i*cellHeight, nCols*cellWidth,i*cellHeight,lines); canvas.drawLine(i*cellWidth, 0, i*cellWidth, nRows*cellHeight, lines); if(i != nRows) canvas.drawText(""+i, i*cellWidth, (i+1)*cellHeight, text); } 由于某种原因,整个canvas偏移了细胞高度的1.5倍。 知道为什么会发生这种情况或如何解决它? 因此,矩阵未初始化,因此根据文档应该是身份。 非常感谢!

如何使用规则/水平线来对齐Android中的EditText中的文本?

基本上我想在Android中做这样的事情: 我试图在自定义EditText中绘制水平线,然后在这些行上键入。 我使用文本大小来表示两条水平线之间的距离 。 但是, 光标的大小和文本的大小不同 。 因此,我无法维持在这些行上“放置”文本。 文本库与这些水平线的对齐并不合适。 以下是用于绘制线条的代码: – float textSize = getTextSize()); Paint paint = new Paint(); for (int i = 0; i < 50; i++) { canvas.drawLine(0, textSize * i, getWidth(), textSize * i, paint); } EditText没有privides有任何获取游标大小的方法。 请建议是否有任何解决方法,或任何其他更好的方法来做到这一点。

Android绘制2种颜色的圆圈(饼图)

这是我在stackoverflow.com上的第一个问题,所以请原谅我自己做错了什么。 我想创建一个基本上像进度条的圆圈。 现在我想通过一些代码设置百分比。 我想要实现的目标是: https : //raw.github.com/psud/Melde-App/master/res/drawable-hdpi/circlemiddle.png 我的问题: 无法使用两种颜色的圆圈工作(已经搜索了几个小时的论坛,并找到了与我类似的问题的解决方案,但我无法在我的应用程序中实现这些解决方案。我已经阅读了很多关于canvas的内容。 drawArc(…)但似乎无法找出如何使用它)。 如何将canvas放入布局? (我有一个xml布局,canvas应该在特定布局中绘制而不改变布局的其余部分)。 谢谢。

自定义适配器,所选项目背景

我有自定义适配器视图的问题。 我尝试,更改Click事件的view背景。 我有AdapterView.OnItemClickListener ,我得到选中的项目,并调用myListView.invalidate(); 无效后,调用adapters getView(…) 。 这里代码为: @Override public View getView(int position,View convertView,ViewGroup parent){ View row = convertView; ProjectAdapterData projectItem; if (row == null) { LayoutInflater inflater = LayoutInflater.from(context); row = inflater.inflate(R.layout.project_small_item_layout, null); ProjectAdapterData projectAdapterData = new ProjectAdapterData(); row.setTag(projectAdapterData); name = (TextView)row.findViewById(R.id.txtObjectName); if (objectData[position].Name!= null) name.setText(objectData[position].Name); adress = (TextView)row.findViewById(R.id.txtObjectAdress); if (objectData[position].Adress != null) adress.setText(objectData[position].Adress); […]