就像我们可以在setError()
或EditText
上拨打TextView
一样,我希望通过Button
或ImageView
来实现同样的模仿WhatsApp的记录按钮点击!它弹出:"保持记录,发布以发送"
我认为它与EditText
setError()
弹出窗口相同。或者还有其他办法吗?
这是我试过的:
1.将背景设置为EditText
或TextView
但不干净。
2.定制吐司通知,然后设置重力。但不是100%的结果。
3.使用android:enabled =" false"放置编辑文本,android:inputType =" none"
但我无法实现精确重叠..
答案 0 :(得分:1)
我从评论中找到了一个对我有用的解决方案..
所以我在我的imageview后面放了一个编辑文本,就像这个
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center" >
<ImageView
android:id="@+id/helpIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/help" />
<EditText
android:id="@+id/helpMsg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:enabled="false"
android:hint=""
android:inputType="none" />
</RelativeLayout>
然后在imageview的onClick事件
helpIcon.setOnClickListener(new OnClickListener() {
//use this variable only if you want to remove the toast before it automatically disappears
private boolean isToastVisible = false;
@Override
public void onClick(View arg0) {
if (!isToastVisible) {
helpMessage.requestFocus();
helpMessage.setError(getResources().getString(R.string.helpText));
isToastVisible = true;
new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
helpMessage.setError(null);
isToastVisible = false;
}
}.start();
}
else {
helpMessage.setError(null);
isToastVisible = false;
}
}
});