提问人:Rucha Bhatt Joshi 提问时间:5/29/2017 最后编辑:Ken Y-NRucha Bhatt Joshi 更新时间:10/9/2018 访问量:419
EditText 表现为 TextView 就像 snapchat 一样
EditText Behave as TextView like snapchat
问:
我想在我最近的项目中添加像 snapchat 的“添加标题”这样的功能。
预期输出:当我单击添加文本按钮时,会出现一个标题栏,打开键盘用户可以输入文本。如果我单击布局键盘,它会自动关闭,看起来标题栏可以在 y 轴上穿过屏幕。EditText
TextView
尝试并失败:当我单击添加文本按钮时,会出现一个标题栏,标题栏无法在 y 轴上移动屏幕(如果我使用它工作正常,但不能使用)。因为我无法点击布局。EditText
TextView
EditText
我的问题:如何在只有触摸事件时将 EditText 显示为 TextView,而单击它作为 EditText?
添加编辑文本文本值后,我无法单击并触摸布局。
这是我的代码:
activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rel_Main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:clickable="true">
<FrameLayout
android:id="@+id/frame_cameraHolder"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_cameraMain"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<RelativeLayout
android:id="@+id/rel_cameraTitleHolder1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp">
<ImageButton
android:id="@+id/ib_cameraClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:src="@drawable/ic_close_white" />
<ImageButton
android:id="@+id/ib_cameraForward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="24dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_forward" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rel_cameraTitleHolder2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_margin="5dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="15dp"
android:visibility="gone">
<ImageButton
android:id="@+id/ib_cameraCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:src="@drawable/ic_close_white" />
<ImageButton
android:id="@+id/ib_cameraBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:src="@drawable/ic_back" />
<ImageButton
android:id="@+id/ib_cameraStickers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_toLeftOf="@+id/ib_cameraDraw"
android:background="@android:color/transparent"
android:src="@drawable/ic_sticker" />
<ImageButton
android:id="@+id/ib_cameraDraw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_toLeftOf="@+id/ib_cameraText"
android:background="@android:color/transparent"
android:src="@drawable/ic_draw" />
<ImageButton
android:id="@+id/ib_cameraText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="24dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_text" />
</RelativeLayout>
<!--<uz.shift.colorpicker.LineColorPicker
android:id="@+id/color_picker"
android:layout_width="match_parent"
android:layout_height="60dp"
app:orientation="horizontal"
android:visibility="gone"/>-->
<RelativeLayout
android:id="@+id/rel_cameraTextHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:visibility="gone">
<ImageButton
android:id="@+id/ib_cameraTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@android:color/transparent"
android:src="@drawable/ic_fontstyle" />
<TextView
android:id="@+id/ib_cameraDone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="24dp"
android:text="Done"
android:textColor="@color/white"
android:textSize="20dp"
android:textStyle="bold" />
</RelativeLayout>
<!--diff-->
<RelativeLayout
android:id="@+id/rel_cameraHolder1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="visible">
<ImageButton
android:id="@+id/ib_cameraflash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="50dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_flash" />
<Button
android:id="@+id/btn_cameraCapturePic"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:background="@drawable/btn_capture" />
<ImageButton
android:id="@+id/ib_cameraReverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="50dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_reverse" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rel_cameraHolder2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone">
<FrameLayout
android:id="@+id/frame_cameraTimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp">
<ImageButton
android:id="@+id/ib_cameraTimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="24dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_blanck_timer" />
<TextView
android:id="@+id/text_cameraTimerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="34dp"
android:layout_marginTop="6dp"
android:text="1"
android:textColor="@color/white"
android:textSize="8dp"
android:textStyle="bold" />
</FrameLayout>
<ImageButton
android:id="@+id/ib_cameraSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_toRightOf="@+id/frame_cameraTimer"
android:background="@android:color/transparent"
android:src="@drawable/ic_save" />
<ImageButton
android:id="@+id/ib_cameraYourStory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_toRightOf="@+id/ib_cameraSave"
android:background="@android:color/transparent"
android:src="@drawable/ic_add" />
<ImageButton
android:id="@+id/ib_cameraSaveForward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="24dp"
android:background="@drawable/btn_capture"
android:src="@drawable/ic_forward" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rel_cameraDeleteHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone">
<ImageButton
android:id="@+id/ib_cameraDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@android:color/transparent"
android:src="@drawable/ic_delete" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rel_EdtAddedText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerInParent="true"
android:orientation="horizontal"/>
</RelativeLayout>
MainActivity.java
private void setAddedEditTextDynamically() {
mRelativeLayoutHolder2.setVisibility(View.GONE);
//create dynamic edit text
RelativeLayout.LayoutParams lparams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
final EditText edtAddedText = new EditText(MainActivity.this);
lparams.addRule(RelativeLayout.CENTER_IN_PARENT);
edtAddedText.setLayoutParams(lparams);
edtAddedText.setTextColor(getResources().getColor(R.color.white));
edtAddedText.setGravity(Gravity.CENTER_HORIZONTAL);
// add edittext to rel layout
mRelEdtAddedText.addView(edtAddedText);
mRelEdtAddedText.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
mRelEdtAddedText.setOnTouchListener(new View.OnTouchListener() {
PointF DownPT = new PointF(); // Record Mouse Position When Pressed Down
PointF StartPT = new PointF(); // Record Start Position of 'img'
@Override
public boolean onTouch(View v, MotionEvent event) {
int eid = event.getAction();
switch (eid) {
case MotionEvent.ACTION_MOVE:
PointF mv = new PointF(event.getX() - DownPT.x, event.getY() - DownPT.y);
// mLinMain.setX((int)(StartPT.x+mv.x));
mRelEdtAddedText.setX(10);
mRelEdtAddedText.setY((int) (StartPT.y + mv.y));
StartPT = new PointF(mRelEdtAddedText.getX(), mRelEdtAddedText.getY());
break;
case MotionEvent.ACTION_DOWN:
DownPT.x = event.getX();
DownPT.y = event.getY();
StartPT = new PointF(mRelEdtAddedText.getX(), mRelEdtAddedText.getY());
break;
case MotionEvent.ACTION_UP:
break;
default:
break;
}
return true;
}
});
}
答: 暂无答案
上一个:水平 RecylerView 外观为 ViewPager
下一个:颤振中协变的功能
评论