- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
基本上我想在 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 不提供任何获取光标大小的方法。
如果有任何解决方法或任何其他更好的方法,请提出建议。
最佳答案
public class LinedEditText extends EditText {
private Rect mRect;
private Paint mPaint;
// we need this constructor for LayoutInflater
public LinedEditText(Context context, AttributeSet attrs) {
super(context, attrs);
mRect = new Rect();
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(0x800000FF);
}
@Override
protected void onDraw(Canvas canvas) {
int count = getLineCount();
Rect r = mRect;
Paint paint = mPaint;
for (int i = 0; i < count; i++) {
int baseline = getLineBounds(i, r);
canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1, paint);
}
super.onDraw(canvas);
}
}
现在在您需要的地方使用LinedEditText类的对象。
public class HorizontalLine extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Android: Ruled/horizonal lines in Textview");
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
LayoutParams textViewLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LinedEditText et = new LinedEditText(this, null);
et.setText("The name of our country is Bangladesh. I am proud of my country :)");
et.setLayoutParams(textViewLayoutParams);
ll.addView(et);
this.setContentView(ll);
}
}
关于java - 如何使用规则/水平线对齐 Android 中 EditText 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667506/
在我的站点中,我添加了 google friend connect。现在在侧边栏的右边,有一条小线。我不想在那里删除该行。 最佳答案 你能把第二个隐藏起来吗它看起来不需要可见,因此隐藏该元素将隐藏内部
我需要在我的多个箱线图中添加晶须(或水平线)。 你可以在这里找到我的数据集:link to data is broken... 换句话说,我正在绘制除以性别(F 和 M)的三个变量(Mat、Ita 和
我目前正在使用 PHPWord 生成我的文档,但我想在文档中添加一条水平线。就像在 HMTL 中一样。在 Word 中,您可以通过在 Enter 中键入三个下划线来完成此操作,但我想在生成的文档中使用
这个问题在这里已经有了答案: CSS technique for a horizontal line with words in the middle (34 个答案) 关闭 3 年前。
我正在尝试在 SWT 的文本字段中显示历史记录。 历史会生成一个新的 shell,它有两个 Composites。第一个显示标题部分,其中包含标签“历史”和下方的水平线。第二个是显示实际数据的页 fo
我想把我的文字放在水平线上。我想如果文本长度增加,应该根据文本长度调整行。在 IE7,8,Mozilla 上运行良好。我想让它适用于 Google Chrome。 除了 Google Chrome 浏
访问此链接进行演示:http://codepen.io/anon/pen/Bvkjx 我想实现以下目标: content:'hellooo'; 让它适合圆圈内而不会剪裁/溢出,基本上重新调整大小以自动
在 Android 中,我有一个 TextView,它的内容是动态的。我想在每行文本后显示一条水平线。我搜索了很多并找到了 EditText( How to use ruled/horizontal
我想在文本左侧创建水平线。我有这样的想法,但它在两侧都形成了线条,但我只想在一侧 - 左侧或右侧。我该怎么做? h2 { width: 100%; text-align: center;
如果我的 y 变量有一个因子,并尝试在 facet_grid 中使用 geom_hline,我会得到一个错误: p p + geom_hline(aes(yintercept = z), hline
创建一个相对简单的数据输入表单,只想用一条水平线(与 HTML 中的 HR 标签不同)分隔某些部分,该水平线延伸整个表单的长度。 我已经尝试过这个: 由于父控件不是固定宽度,因此该行会导致窗口拉伸(
所以我有这个应用程序,它使用视觉效果 View 来制作应用程序的容器,在这个应用程序中,我有一个使用 NSBox 的行分隔符,当我运行它时,它会出现这个 你可以看到它出现了,但是它周围有一个 1 或
我有一个来自数据库的元素列表: Jon Skeet Darin Dimitrov Marc Gravell BalusC Hans Passant S
我有非常简单的 html,如下所列。在 Firefox 和 Chrome 中运行良好。在 IE8 中也运行良好。但是当我升级到 IE9 时,它在灰色边框内显示一条白线。我们需要做什么才能让它像 Chr
我想连续放置 3 条水平线。有谁知道如何在 IE7 的 inline-block 中显示一条水平线? 这是我的 CSS: hr.small { width: 28.9%; margin
我使用的是响应式表格,其中缺少 1 像素的垂直线和水平线。 这是我的 CSS 和 HTML: .table-responsive { overflow-x: auto; min-hei
我的屏幕上有 8 个表格,我想将它们分成四个 Pane 。 请问如何在我的 fluidrow() + column() 网格中添加垂直线和水平线? 目标设计: 当前设计: 可重现代码: DTWrapp
我已经为 .它按预期呈现,除了 svg 元素底部边缘的水平线。 svg来源是 你可以在这里看到错误的水平线 Codepen (它在底部,蓝色...)。 我希望线路消失
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 3 年前。 Improve
我的计划是使用 4 个 GridSpec(4,1) 网格规范来创建 4x4 子图网格。我想在每行 4 个子图的 x 轴上添加一条水平线。我查看了 matplotlib.lines.Line2D 但无法
我是一名优秀的程序员,十分优秀!