我是学习Android的新手,到目前为止我一直专注于功能,但现在我开始使用布局了。
问题: - 我的应用程序有一个按钮,点击它,我发送短信到注册号码。但是一旦点击按钮,我想将用户的手机屏幕背景颜色更改为红色,并与前面通知指示相同。(一旦用户按下按钮,应用程序完成....所以我的想法是,用户应该知道按钮被按下并且消息被发送。所以scrren的背景应该处于警戒位置。)
有办法做到这一点吗?我在网上搜索,发现通知导致不同制造商的行为不同。有没有通用的方法来做到这一点,所以应用程序在所有Android手机品牌的行为相同? 任何代码段或任何点击都将受到高度赞赏。
答案 0 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/layout"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/save"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/button"
android:layout_alignParentBottom="true"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:text="Save"
android:gravity="center"
android:textSize="18sp"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"/>
</LinearLayout>
在活动中:
LinearLayout layout= (LinearLayout) findViewById(R.id.layout);
TextView save=(TextView) findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
layout.setBackgroundColor(Color.rgb(255,32,32));
}
});
答案 1 :(得分:0)
通知LED不是Android上的标准功能。也就是说,您无法使用一种方法来处理所有Android设备的闪烁。
解决此问题的一种方法是创建一个通用方法,该方法将检查手机的品牌,并使用适当的方法使LED闪烁。类似的东西:
private void blinkLED() {
String man = android.os.Build.MANUFACTURER;
if (man.equals("SAMSUNG")) {
// Do Samsung LED blinking here.
}
else if (man.equals("HTC")) {
// Do HTC LED blinking here.
}
else {
// ...
}
}
要更改背景颜色,请获取根布局的参考,然后调用setBackgroundColor
方法,该方法将继承自android View
的所有对象。
RelativeLayout lv = (RelativeLayout) findViewById(R.id.relativelayout);
Button bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
lv.setBackgroundColor(Color.rgb(204,0,0));
}
});
修改:根据我的理解,您希望通知用户您的邮件已发送。我可以建议一个简单的方法来做到这一点。
使用ProgressDialog
和AlertDialog
类。如果要向用户显示发送过程的进度并在过程完成时通知,请使用它。要启动进度对话框很简单,只需添加以下行:
// this refers to a Context, the second argument is the title of the dialog, the third argument is the body message of the dialog, the fourth argument is whether your dialog is indeterminate or not, the last argument tells if your dialog can be canceled or not.
ProgressDialog pd = ProgressDialog.show(this,"Title of dialog","(Body message) Sending message",true,false);
要取消或禁用它,只需致电:
pd.dismiss();
要显示AlertDialog,请执行以下操作。
new AlertDialog.Builder(getApplicationContext())
.setTitle("Title")
.setMessage("Your message was sent!")
.setPositiveButton("OK",null)
.show();
那应该做你想要的。