如何在Android中动态替换按钮?

时间:2018-07-24 22:16:36

标签: android android-layout listview

我正在做一个待办事项应用程序。基本上,我希望屏幕从顶部开始只有一个添加按钮。当用户单击该按钮时,该按钮会向下滑动,并且用户只能输入足以容纳一两行的字符。用户一次只能输入10-15个这样的任务,按钮每次向下滑动相同的距离。我该怎么做?这是我当前编写的xml代码:

<ListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginTop="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView"
    app:layout_constraintVertical_bias="0.111" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:text="Button"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/list_view" />

此外,我知道listview属性可能已关闭。我会尝试通过谷歌搜索来修复它们,但是如果您现在可以帮助我,我将不胜感激。考虑这是一个奖励问题。

1 个答案:

答案 0 :(得分:0)

如果您使用的是列表视图,则只需在列表视图中添加页脚即可。这是小片段。

    TextView text = new TextView(getApplicationContext());
    text.setTextColor(ContextCompat.getColor(getApplicationContext(),R.color.text_color_light));
    text.setText("Block");
    text.setTextSize(Math.round(getResources().getDimension(R.dimen.pad_top_bottom)-1));
    text.setPadding(pad+7,pad,pad,pad);
    text.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertMessage.newInstance(displayName,al,getApplicationContext()).show(getSupportFragmentManager(),"alert");
        }
    });
    listView.addFooterView(text);

肯定会起作用。从xml中删除Button小部件并动态添加。 (在此处代替textView的“创建”按钮)