因此,我希望用户能够键入我设置为图像视图的图像。图像设置和工作。当用户单击图像时,“编辑文本”框将显示他们单击的位置。但编辑文本的白色背景会阻挡背景中的图像。因此,我将编辑文本背景设置为透明:
editTextOne.setBackgroundColor(Color.TRANSPARENT);
这适用于使编辑文本背景透明。但是,现在光标也不会显示,除非开始输入。
所以,我要问的是,无论如何都要使EditText背景透明,但仍然有光标显示和闪烁?非常感谢任何帮助,谢谢!
代码:
public boolean onTouch(View view, MotionEvent event){
if (type == true){
touchX = (int) event.getX();
touchY = (int) event.getY();
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) editTextOne.getLayoutParams();
params.leftMargin = touchX;
params.topMargin = touchY;
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
editTextOne.setLayoutParams(params);
editTextOne.setVisibility(View.VISIBLE);
editTextOne.bringToFront();
editTextOne.setBackgroundColor(Color.TRANSPARENT);
editTextOne.requestFocus();
editTextOne.setCursorVisible(true);
}//end of if statement
return true;
}//end of onTouch
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/relative" >
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/load"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:text="C"
android:textStyle="bold"
android:textSize="20dp"
android:id="@+id/camera"
android:onClick="camera"/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/view"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:id="@+id/load"
android:text="L"
android:textStyle="bold"
android:textSize="20dp"
android:onClick="load"/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:text="v"
android:id="@+id/view"
android:textStyle="bold"
android:textSize="20dp"
android:onClick="view"/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/camera"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:text="T"
android:textStyle="bold"
android:textSize="20dp"
android:id="@+id/text"
android:onClick="text"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@null"
android:visibility="invisible"
android:id="@+id/textone"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:inputType="textAutoCorrect"
android:singleLine="true"
android:id="@+id/edittextone"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:id="@+id/picture"/>
</RelativeLayout>
编辑:我不确定为什么光标不会立即显示但我发现按下空格键后光标可见。所以,为了解决我使用的问题:
editTextOne.setText(" ");
这会将空格作为初始文本,因此会显示光标。我希望这可以帮助其他人遇到类似的问题。
答案 0 :(得分:1)
你可以在xml文件中更改edittext属性 android:background =“@ null”,不在代码文件中设置,它对我有用。我希望它对你有用。
答案 1 :(得分:1)
首先,我想确保您想要更改光标颜色。是吗 ?
为此:
更改最小api(如果api <3.2)。
设置为 android api 3.2或更多。
您将在EditText中获取属性,设置为 android:textCursorDrawable =“@ null”
更改文字:颜色也会设置光标的颜色相同 文字颜色。
如果你的最低api等级为3.2,只会帮助你。
答案 2 :(得分:0)
您是否尝试过将焦点设置为文本视图?显示视图后,您可以尝试拨打requestFocus()?
此外,您可以尝试通过setCursorVisible方法将光标显式设置为可见。