在这篇文章中,我们将带领您了解Android-计算电源按钮的点击次数并启动活动的全貌,同时,我们还将为您介绍有关3种方法实现Android按钮的点击事件,建议收藏!、AndroidStudio中图片按
在这篇文章中,我们将带领您了解Android-计算电源按钮的点击次数并启动活动的全貌,同时,我们还将为您介绍有关3种方法实现Android按钮的点击事件,建议收藏!、Android Studio 中图片按钮的点击效果、android – Listview项目点击次数、android – 从后台应用启动活动的知识,以帮助您更好地理解这个主题。
本文目录一览:- Android-计算电源按钮的点击次数并启动活动
- 3种方法实现Android按钮的点击事件,建议收藏!
- Android Studio 中图片按钮的点击效果
- android – Listview项目点击次数
- android – 从后台应用启动活动
Android-计算电源按钮的点击次数并启动活动
我使用下面的代码,但没有找到解决方案。
MyReceiver.java:
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.Toast; public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.v("onReceive", "Power button is pressed."); Toast.makeText(context, "power button clicked", Toast.LENGTH_LONG) .show(); }}
和 MainActivity.java:
import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
和 AndroidManifest.xml:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyReceiver"> <intent-filter> <action android:name="android.intent.action.SCREEN_OFF"></action> <action android:name="android.intent.action.SCREEN_ON"></action> <action android:name="android.intent.action.ACTION_POWER_CONNECTED"></action> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action> <action android:name="android.intent.action.ACTION_SHUTDOWN"></action> </intent-filter></receiver></application>
但点击时,我没有收到任何吐司消息PowerButton
。请帮助我了解如何获得PowerButton
点击次数,如果点击次数等于5,请转到另一个actvity
。请帮我实现这个吗?
答案1
小编典典试试这个,
public class MyReceiver extends BroadcastReceiver { static int countPowerOff=0; private Activity activity=null; public MyReceiver (Activity activity) { this.activity=activity; } @Override public void onReceive(Context context, Intent intent) { Log.v("onReceive", "Power button is pressed."); Toast.makeText(context, "power button clicked", Toast.LENGTH_LONG) .show(); if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { countPowerOff++; } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { if(countPowerOff==5) { Intent i =new Intent(activity,NewActivity.class); activity.startActivity(i); } }}
和,
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); MyReceiver mReceiver = new MyReceiver (this); registerReceiver(mReceiver, filter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
3种方法实现Android按钮的点击事件,建议收藏!
Button是程序用于和用户进行交互的一个重要控件,相信大家对这个控件已经非常熟悉了,我们平时用的最多的控件之一。既然有Button,那肯定有onClick方法,下面就教大家三种实现点击事件的方法,大家选择一种自己喜欢的方式写就可以了。
我们先在layout文件里面放置一个Button控件,很简单,让它水平和垂直都居中,Button里面的文字也居中对齐,字体大小15sp,内容为“我是按钮”,具体代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ButtonActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="我是按钮"
android:textSize="15sp" />
</RelativeLayout>
运行一下模拟器,显示如下:
下面,我们来实现按钮点击事件:只要我们点击按钮,就会弹出Toast提示信息,内容为“按钮被点击了”。
| 一、匿名内部类实现 | |--|--|
在onCreate()方法里面声明并绑定控件,然后注册监听器,重写onClick()方法,只要在onClick()方法中加入待处理的逻辑就行。 这里我们只用Toast显示了一条消息。所有代码如下:
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
Button button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ButtonActivity.this,"按钮被点击了",Toast.LENGTH_SHORT).show();
}
});
}
}
这样,只要我们点击按钮,就会执行监听器中的onClick()方法,效果如下:
| 二、接口实现 | |--|--|
第二种方法只要引用View.OnClickListener这个接口就行,接着Button button=findViewById(R.id.button);
用来声明和绑定button控件,button.setOnClickListener(this);
设置button的监听器,这两者缺一不可。下面就是重写onClick()方法,一般使用switch语句,参数是view,可以根据不同id来赋予不同的点击事件,不用像上面匿名内部类那样每一个按钮都要单独设置一下点击事件。所有代码如下:
public class ButtonActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
Button button=findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button:
Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
default:
break;
}
}
}
我们运行看下效果:
| 三、布局实现 | |--|--| 上面两种点击事件都很简单,相信大家已经掌握了,那么接下来的方法更加简单。
我们在layout文件中,给每一个用到的Button设置属性android:onClick="onClick"
,其他不需要改变。 然后我们在ButtonActivity里面写一个onClick()方法,这里就不是重写了,因为我们没有任何继承父类和引用接口,这里的方法名可以随意取。然后写上代码逻辑。完整代码如下:
public class ButtonActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
}
public void onClick(View view) {
Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
}
}
我们来运行一下程序,发现点击按钮之后一样有响应。
好了,以上就是3种实现Android按钮的点击事件,是不是已经学会了呢。如果学会的话点个三连支持下博主吧。
Android Studio 中图片按钮的点击效果
如何解决Android Studio 中图片按钮的点击效果?
如何使用 ImageButton 实现与 Button 元素默认相同的点击效果?
我曾经使用带有 png 图标的按钮,但现在我将它们更改为 svg 图标。要做到这一点,我发现我必须使用 ImageButton 插入 Button。
我已经看到这可以通过创建一个包含按钮状态列表的可绘制 xml 文件来完成,但我不需要复杂的动画(只是按钮的默认设置)。有没有一种简单的方法可以实现我正在寻找的东西?
这是我的代码:
<ImageButton
android:id="@+id/editButton"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="#00FFFFFF"
android:tint="#00FFFFFF"
app:iconTint="#000000"
app:srcCompat="@drawable/edit_icon_svg"
tools:ignore="VectorDrawableCompat" />
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
android – Listview项目点击次数
我有一个listview与一些items.I想知道列表项click.for例如,如果我点击列表视图项目第一次吐司消息将出现.相同的项目点击吐司消息将是你点击相同的项目第二时间.
最后我想知道单个列表视图项“偶数”点击和“ODD”点击
listView.setonItemClickListener(new AdapterView.OnItemClickListener()
{ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(firstTime) {
firstTime = false;
if(count%2==0){
Toast.makeText(getApplicationContext(), "Clicked on Row2nd: " +
country.getName(), Toast.LENGTH_LONG).show();
count=0;
}
else{
Toast.makeText(getApplicationContext(), "Clicked on Row1st: " +
country.getName(), Toast.LENGTH_LONG).show();
count=0;
}
}
else{
firstTime=true;
Toast.makeText(getApplicationContext(), "Clicked on Row1111: " +
country.getName(), Toast.LENGTH_LONG).show();
count=count+1;
}
}
});
解决方法:
您可以添加一个额外的ArrayList,它将包含每个列表视图项的计数器.
假设你有:
ArrayList<String> listViewData = getSomeData();
ArrayList<Integer> dataClickCount = new ArrayList<>();
for(String item : listViewData)
{
dataClickCount.add(0);
}
后来在你的听众中:
listView.setonItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(dataClickCount.get(posion)%2==0){
Toast.makeText(getApplicationContext(), "Clicked on Row1nd, odd click: " + country.getName(), Toast.LENGTH_LONG).show();
dataClickCount.set(posion,1);
}
else{
Toast.makeText(getApplicationContext(), "Clicked on Row2st, even click: " + country.getName(), Toast.LENGTH_LONG).show();
dataClickCount.set(posion,0);
}
}});
android – 从后台应用启动活动
我的应用程序在后台运行,我希望在下面的代码运行时,应用程序显示在Android手机的顶部(已启动). (我知道代码是肯定运行的)
这看起来很简单,但我在这个网站上花了几个小时,每个人似乎都在建议这样的事情:
Intent intent = new Intent(myActivity.this, myActivity.class);
startActivity(intent);
但是,它并没有将应用程序带到前面并启动它.
我从通知启动的PendingIntent中开始工作.我通过以下代码完成了这项工作.但我希望应用程序能够在用户没有点击通知的情况下自行启动.
Intent intent = new Intent(myActivity.this, myActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, REQUEST_CODE, intent, 0);
notification.setLatestEventInfo(this, "title", "msg", contentIntent);
我也尝试过:
Intent intent = new Intent("android.intent.action.MAIN");
startActivity(intent);
并标记意图:
intent.setFlags(Intent.FLAG_FROM_BACKGROUND);
intent.setFlags(Intent.FLAG_ACTIVITY_broUGHT_TO_FRONT);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
但似乎没有做任何事情,任何帮助赞赏.
解决方法:
您应该可以像这样调用自己的应用程序:
Intent intent = new Intent("android.intent.category.LAUNCHER");
intent.setClassName("com.your.package", "com.your.package.MainActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
编辑:忘记添加intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
我们今天的关于Android-计算电源按钮的点击次数并启动活动的分享就到这里,谢谢您的阅读,如果想了解更多关于3种方法实现Android按钮的点击事件,建议收藏!、Android Studio 中图片按钮的点击效果、android – Listview项目点击次数、android – 从后台应用启动活动的相关信息,可以在本站进行搜索。
本文标签: