自定义按钮形式(房子/树等)

Posted

技术标签:

【中文标题】自定义按钮形式(房子/树等)【英文标题】:Custom button form (House/Tree etc.) 【发布时间】:2016-11-05 18:32:34 【问题描述】:

我对 android 有点陌生,因此这个问题可能听起来很荒谬,但是:

有没有办法以 smthg 的形式制作按钮?吃了很多应用程序,你按下一棵树或一些房子,就会开始一些动作。那是怎么做的? 不是行动,而是形式。或者没有办法让按钮不是矩形?

【问题讨论】:

How to create custom button in Android using XML Styles的可能重复 Button 类似于 ImageView 或 TextView 的 View,您可能在谈论 onClick 监听器,请参见此处***.com/questions/3505841/onclick-listener-in-android 嗨,欢迎来到 ***。请注意,由于帖子的质量,到目前为止,您的问题已被 2 人投票结束。一旦您尝试并失败了,请在此处发布问题(仅在对同一问题进行足够的研究之后)。还要发布您要解决的问题的代码、堆栈跟踪或图像。 按钮是始终为矩形但不需要看起来像矩形的视图。或者查看:***.com/questions/16670774/clickable-area-of-image 【参考方案1】:

你说的是imagebutton。Image button documentation

例如创建一个带有树背景的按钮。示例:

<ImageButton android:src="@drawable/tree.png"></ImageButton>

【讨论】:

嗯,按钮将显示为矩形。但是,例如,如果我想制作云怎么办? 为其分配一个形状。创建一个可绘制的形状并将按钮背景分配为该形状。 example【参考方案2】:

是的,您可以这样做。将您的树木和房屋视为图像。

    ImageView im;
    im = (ImageView) findViewById(R.id.image_of_tree);
    im.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 
            //perform some action
        
    );

【讨论】:

但是我可以不做矩形吗?我的意思是,按钮实际上是树的形式。 试试这个,我认为矩形不会出现在背景中。 是的,但是当我按下的不是树,而是附近的某个地方,仍然在矩形区域中时,它会做一些我不想要的动作。这就是为什么我问如何以 smthg 的形式制作按钮。 好的,如上所述,转到此链接:- ***.com/questions/18507351/… 并为您的背景赋予形状。【参考方案3】:

Off-course 当您的布局膨胀时,您的视图(可以是任何视图)可通过 id 获得。您的按钮可以是 ImageView、ImageButton 等。只需找到您的视图的 id 并设置您想通过此视图收听的任何事件。

【讨论】:

以上是关于自定义按钮形式(房子/树等)的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值

没有 SVG 的自定义按钮

WPF/Silverlight问题:我自定义的按钮模板,怎么才能让里面的元素和整个按钮的大小同比例缩放

自定义单选按钮jqgrid编辑表单

微信小程序自定义事件

SwiftUI - 在视图中包装 Button,以创建自定义按钮