小编Igo*_*gor的帖子

在TextView中查找单个Character的精确坐标

目前我正在使用paintObject.measureText(textCopy.substring(0,i))迭代TextView文本的副本.例如,measureText("abc".substring(0,1))将给出'b'的相对x坐标.我得到的y坐标layout.getLineTop().这是工作,但不准确X坐标非等宽字体.我可以稍微校准,但在每个设备上它的工作方式不同.

我能想到的最好的解决方案是覆盖负责在屏幕上绘制TextView的类,并希望获得绘制到屏幕上的每个字符的坐标.

有谁知道我需要覆盖什么类来完成这个?或者其他一些创意解决方案?

android textview android-screen android-canvas

9
推荐指数
2
解决办法
1825
查看次数

将新列中的按钮添加到DataGrid中的所有行

我有一个DataGridView对象:

dataGridView1.DataSource = an.peaks;
Run Code Online (Sandbox Code Playgroud)

(an.peaks是一个List<Point>对象.type Point有3个属性:x,y,z)

女巫在运行时生成下一个表:(显然我无法上传,Image因为我是一个新用户所以我会尝试绘制它:)

____|_x__|_y__|_z__|[new column ]
____|_11_|_12_|_13_|[text/button] <==\
____|_20_|_30_|_40_|[text/button] <== } Add text if something or button if something else.
____|_50_|_60_|_70_|[text/button] <==/
Run Code Online (Sandbox Code Playgroud)

我想在新列中添加按钮(如图像/图中所示)到满足某些条件的每一行.如果条件不满意,请添加一些文本.

示例:如果数据库中已存在该点,则显示其物质名称(每个点代表一种物质).如果没有将"ADD"按钮添加到将新点添加到数据库的相应行.

条件不是问题 - 它们仅用于示例.问题是为每一行添加按钮/文本,为新按钮添加单击事件.

c# datagridview row button

8
推荐指数
1
解决办法
3万
查看次数

Android创建ViewPropertyAnimator动画链

我正在尝试这个:

public void onClick(View view){
    tv.animate().x(600).y(100).scaleX(3).scaleY(3);
    tv.animate().x(400).y(1400).scaleX(1).scaleY(1);
}
Run Code Online (Sandbox Code Playgroud)

但它会跳过第一行动画.如何让它链接起来,首先它会做第一行,然后是下一行?

animation android view

7
推荐指数
1
解决办法
6349
查看次数

Android - 仅更改alpha TextView的文本

说我有这个代码:

int color = tv.getCurrentTextColor();
Run Code Online (Sandbox Code Playgroud)

如何仅更改此颜色的Alpha?

例如:

如果颜色是0x00ffffff,我将如何更改为0xffffffff

有没有方法或我需要做一些hex/int操作?

android alpha colors textview

7
推荐指数
1
解决办法
5991
查看次数

Android ValueAnimator无法正常工作

我在AsyncTasks类中有这个工作代码.

protected void onProgressUpdate(Object... values) {
        View view = (View) values[0];
        view_group.addView(view);

        view.animate().y(500).setDuration(1000);
    }
Run Code Online (Sandbox Code Playgroud)

我试图将代码更改为:

protected void onProgressUpdate(Object... values) {
            View view = (View) values[0];
            view_group.addView(view);

            ValueAnimator va = ObjectAnimator.ofInt(view, "y", 500);
            va.setDuration(1000);
            va.start();
            }
Run Code Online (Sandbox Code Playgroud)

视图正在显示,但不是动画.

我错过了什么?

编辑:

我还尝试将ValueAnimator代码放入一个AnimatorListener(当然使用不同的坐标),因此它将在第一个动画完成后运行,但它不起作用.

android android-animation android-asynctask android-view

4
推荐指数
1
解决办法
3286
查看次数

有效避免按钮点击重复代码的方法

假设我有2个按钮,它们应该执行相同的操作但是在不同的对象上.

目前我正在将所有需要的引用传递给这样的方法:

    private void sub1_add_to_db_btn_Click(object sender, EventArgs e)
    {
        Add_Substance_To_Database(
            substanse1, sub1_add_to_db_btn, sub2_add_to_db_btn, sub1_found_in_db_list,
            sub2_found_in_db_list, false, sub1_listBox, sub2_listBox);
    }

    private void sub2_add_to_db_btn_Click(object sender, EventArgs e)
    {
        Add_Substance_To_Database(
            substanse2, sub2_add_to_db_btn, sub1_add_to_db_btn, sub2_found_in_db_list,
            sub1_found_in_db_list, false, sub2_listBox, sub1_listBox);
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有其他更有效的方法来做到这一点.谢谢.

编辑:

这是我的一些代码看起来像,它让我疯狂!

private void sub1_add_to_db_btn_Click(object sender, EventArgs e)
    {
        Add_Substance_To_Database(substanse1, sub1_add_to_db_btn, sub2_add_to_db_btn,
            sub1_found_in_db_list, sub2_found_in_db_list, false, sub1_listBox, sub2_listBox);
    }

    private void sub2_add_to_db_btn_Click(object sender, EventArgs e)
    {
        Add_Substance_To_Database(substanse2, sub2_add_to_db_btn, sub1_add_to_db_btn,
            sub2_found_in_db_list, sub1_found_in_db_list, false, sub2_listBox, sub1_listBox);
    }

    private void sub1_edit_name_btn_Click(object sender, EventArgs e)
    {
        Add_Substance_To_Database(substanse1, sub1_add_to_db_btn, …
Run Code Online (Sandbox Code Playgroud)

c# methods code-duplication winforms

0
推荐指数
1
解决办法
177
查看次数