Unity3D】【Unity基础】Button控件常用的点击事件方式有什么

2020-12-05 13:49发布

10条回答
水默
2楼 · 2020-12-05 15:32

1. 在布局文件中给Button按钮添加onClick属性,属性值为任意字符串(此字符串用于设置按钮被点击时运行的方法的方法名)。

2.获取控件对象+通过控件对象调用setOnClickListener方法设置点击事件


①在布局文件中指定onClick属性的方法设置点击事件

②使用匿名内部类的方法设置点击事件

③实现Activity实现OnClickListen接口的方式设置点击事件

Kindery
4楼 · 2020-12-06 18:35

①在布局文件中指定onClick属性的方法设置点击事件

②使用匿名内部类的方法设置点击事件

③实现Activity实现OnClickListen接口的方式设置点击事件

我是大脸猫
5楼 · 2020-12-06 20:08

第一种(匿名内部类):

private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_day5);btn1 = findViewById(R.id.btn1);btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.i("flag","你点了我");}});}

第二种(内部实现接口):

private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_day5);btn1 = findViewById(R.id.btn1);btn1.setOnClickListener(new MyLinstenter());}class MyLinstenter implements View.OnClickListener {@Overridepublic void onClick(View v) {btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.i("flag", "你点了我哦!");}});}}

第三种(外部类实现接口):

private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_day5);btn1 = findViewById(R.id.btn1);btn1.setOnClickListener(new MyLinstenter(btn1));}}class MyLinstenter implements View.OnClickListener {private Button btn1;public MyLinstenter(Button btn1) {this.btn1 = btn1;}@Overridepublic void onClick(View v) {btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.i("flag", "你点了我哦!");}});}

第四种(使用本类对象实现接口):

public class day5 extends AppCompatActivity implements View.OnClickListener{private Button btn1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_day5);btn1 = findViewById(R.id.btn1);btn1.setOnClickListener(this);}@Overridepublic void onClick(View v) {Log.i("flag", "你点了我哦!");}}

 


无需指教
6楼 · 2020-12-07 08:53

一、匿名内部类实现方式


二、内部类实现方式


三、类自身实现点击事件监听接口


小狮子
7楼 · 2020-12-10 18:00

1.匿名内部类实现方式 2.内部类实现方式3.类自身实现点击事件监听接口

Ross
8楼 · 2020-12-15 20:34
  1. 在Button组件中添加OnClick的点击事件,可以采用拖拽的方式添加,此种方式添加的方法可以带有参数

  2. 在脚本里面先获得Button组件,然后点南onClick.AddListener(无参无返回值方法名)即可.

Transform
9楼 · 2020-12-18 16:44
  1. 在Button组件中添加OnClick的点击事件,可以采用拖拽的方式添加,此种方式添加的方法可以带有参数

  2. 通过代码获取Button组件,onClick.AddListener(无参无返回值方法名)


相关问题推荐

  • 回答 17

    还是要学好编程基础呀如果你觉得编程很苦难 不一定要从c#开始学  学学js flash as等等  有个梯度就好多了如果要用好unity  不会编程那是不行的  学习的过程中都有个头疼的过程  记住  头越痛  代表你要接受的东西越多  坚持 你的大脑在和知识兼容中:D...

  • unity如何自学Unity3D 2022-01-06 15:24
    回答 18

    可以先思考学习的目的,是什么因素在驱动你。是完成一款作品?进入某个行业?还是探究某类问题?否则和技术相关的知识浩如烟海,很容易迷失在细枝末节上。而要找到动力源头。个人的经验,就是关注一些和自己同方向,同类型的创作者。他们输出的作品会激励你,...

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 2

    Shader Unlit/Test{Properties{_MainTex(MainTex,2D)=white{}_MainColor(MainColor,COLOR)=(1,1,1,1)_AddTex(AddTex,2D)=white{}_Maxset(Max,Range(0.1,1.0))=0.1}SubShader{Tags{RenderType=Transparent Queue=Tran...

  • 回答 4

    文章主要为大家详细介绍了Unity Shader实现水波纹效果,文中示例代码介绍的非常详细具体代码实现如下:Shader Custom/shuibowen{ Properties{ _MainTex(Base (RGB),2D)=white{} _distanceFactor(Distancefactor,float)=1 _timeFactor(time factor,float)=...

  • 回答 7

    策划的最基本的原则就是:改进缺点,做别人没有做到的。无论游戏策划还是其它策划都是一样!    游戏策划的第二个原则:放飞思想。也许你认为我是说策划们应该充满想象力,能想一些匪夷所思的东西!对不起。不是这意思!一个合格的策划不是为了发泄自己的...

  • 回答 7
    已采纳

    可以多玩一些其它的游戏,看一些科幻电影等,寻找灵感。

  • 回答 3
    已采纳

    游戏架构与设计不纯粹是一门科学,它不需要提出假设或探究真理,也不被逻辑或正规方法的严格标准所束缚。游戏的目的就是通过玩来获得娱乐,因此游戏设计即需要艺术家一样的创造力,也需要工程师一样的精心规划。游戏设计是一门手艺,就像好莱坞的电影摄像或服...

  • 回答 9

    FlatStyle按钮的样式可以用这个属性改变。如果把样式设置为PopUp,则该按钮就显示为平面,直到用户再把鼠标指针移动到它上面为止。此时,按钮会弹出,显示为3D外观 Enabled这个属性派生于Control,但这里仍讨论它,因为这是一个非常重要的属性。把Enabled 设...

  • 回答 9

  • 回答 8

    最近在unity3d项目中,需要使用toggle实现多项单选的功能,要实现这样的效果需要给其添加togglegroup,然后设置默认选择项就可以了。打开unity3d在菜单中GameObject--UI--Toggle创建一个选择框。设置其位置大小,以及显示Label为One。同样的方式我们创建三个T...

  • 回答 7

    Unity 3D Toggle 控件用于在屏幕上绘制一个开关,通过控制开关的开启与闭合来执行一些具体的操作。当用户切换开关状态时,Toggle 控件的绘制函数就会根据不同的切换动作来返回相应的布尔值。...

  • 回答 13

    这里来讲解一下unity3D自带的UI功能,自带的UI也叫UGUI功能非常的强大,比起NGUI,更加的灵活,让用户能够更加容易的去使用。 首先创建一个文本Text 然后是文本相对应的属性 这里的属性比较的简单,一些基本的颜色,格式,字体加粗,字体大小,都有。如果需要...

  • 回答 8

    android:layout_width  控件高度android:layout_height  控件宽度  ps : fill_parent(高/宽度充满整个屏幕),warp_content(宽/高度为内容实际宽/高度大小))android:text   定义组件的显示文字android:maxLength   最大允许长度android:textCol...

  • 回答 12

    * 姓名:* 密码:* 性别:男女* 邮箱:* 地址: 修改

没有解决我的问题,去提问