如何创建自定义按钮onClick()事件Android(Studio)?

时间:2015-07-07 11:04:01

标签: java android

我正在创建我的第一个Android应用程序,作为其中的一部分,我需要在点击另一个按钮后添加新按钮。

然后我需要在另一个按钮上发生create()事件后onClick()一个按钮。

怎么做? 你应该知道的事情:

  • 我正在使用Android Studio开发应用
  • 我已经导入了这些:

    import android.view.*;
    import android.widget.Button;
    import android.widget.TextView;
    
  • 我想知道从哪里获取整个图书馆列表的android,或者更好,我希望你能说出你最好的android库来开发这些东西,我需要找到并获得经验图书馆,所以我需要建议!

提前多多感谢:)

P.S。只需输入create()onClick()就可以清楚地表明我在谈论方法,但并不是说它们都是真实的或者我需要的那些;)

P.P.S。我不知道会有多少按钮,因为我不选择那个,用户这样做,它有点像:我想创建一个新的东西,然后我按下按钮'+'并创建一个新按钮(新的事情),因为这个原因,按钮的数量是未知的,这就是为什么我不能使用可见性技巧,但是,我是第一次想到这一点!

3 个答案:

答案 0 :(得分:1)

摇滚乐的答案是正确的,但我建议你使用你的布局中的按钮与android:visibility ="去掉#34;然后在用户使用button2.setVisibility(View.Visible)点击第一个按钮时显示它。 在xml而不是代码中创建布局和视图总是更容易。 我个人使用support-v4库,recyclerview,最近发布的设计库和一些Google Play Services库。

编辑:如果您要添加大量按钮,并且您不知道有多少按钮,我建议您使用ListView或RecyclerView。我个人更喜欢RecyclerView,但设置可能会更困难。无论如何,您将在列表中添加项目。这些项目基本上都是按钮,因此您的项目布局将如下所示:

item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="This is a new button!"
    android:layout_margin="16dp"
    android:gravity="center_vertical|center_horizontal"
    android:elevation="2dp"
    android:translationZ="6dp" />
    <!-- Material Design. See http://www.google.com/design/spec/what-is-material/elevation-shadows.html#elevation-shadows-elevation-android- -->
    <!-- The attributes you need...... -->

这就是全部。你不必乱用丑陋的代码。如果您想了解RecyclerView的优点,请参阅http://antonioleiva.com/recyclerview/

答案 1 :(得分:0)

创建一个按钮对象

Button myButton = new Button(this);

然后在布局中添加按钮

LinearLayout layout = (LinearLayout) findViewById(R.id.my_layout);
layout.addView(myButton);

我不确定你在说什么图书馆。要了解android,请转到android developer website并单击搜索按钮并搜索您想要了解的内容。你将获得所有的图书馆。

答案 2 :(得分:0)

您不需要库来制作onClick方法。当你有按钮时,像这样设置onClick方法:button.setOnClickListener(new onClickListener...)如果按Ctrl + Space,你将可以选择要选择的内容。 您希望以编程方式添加多少个按钮?如果您在xml中创建按钮并使用Visibility.GONEVisibility.VISIBLE,如果没有多少按钮并且您知道它们的结束编号,那可能会更好。