我想学的是,
当点击按钮时,一个新的纯文本(可编辑)应该出现在我在UI中创建的默认纯文本下面,该纯文本与默认纯文本具有相同的属性(例如,相同的宽度和高度),并且每个纯文本之间有一些空白。
我的项目布局类型是constraint layout,我想把我的按钮放在UI的右下角,我已经用constraint layout归档了。
通过浏览堆栈溢出和其他通过谷歌,
我所看到的只是在线性布局中添加纯文本,如果我从约束布局切换到线性布局,我的按钮就会错位,而不是说我至少实现了通过单击线性布局中的按钮来添加纯文本的功能。
这就是为什么我坚持使用约束布局,至少我的按钮不会放错位置,如果任何布局中有任何方法可以得到我想要的结果,我愿意接受。
到目前为止,我做到了这一点
ConstraintLayout constraintLayout = findViewById(R.id.constraintLayout);
Button buttonAddNewToDo = findViewById(R.id.addNewToDo);
buttonAddNewToDo.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
EditText newToDo = new EditText(MainActivity.this);
newToDo.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
newToDo.setHint("enter new to do");
constraintLayout.addView(newToDo);
}
});
代码在onCreate()FYI中。
上面的代码所做的是,当点击按钮时,它会创建一个新的纯文本,它位于左上角,
要查看上面一段代码的UI(请参阅下图)
在此输入图像描述
您可以在xml文件中设计初始可见性消失的编辑文本。当单击按钮时,设置可见性。
XML
<EditText
android:visibility = "gone" />
活动
buttonAddNewToDo.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
edittext.setvisibility(View.Visible);
}
});
约束布局需要额外的信息,而不仅仅是向布局中添加视图,即在布局中附着视图的位置。
EditText newToDo = new EditText(MainActivity.this);
newToDo.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
newToDo.setHint("enter new to do");
constraintLayout.addView(newToDo);
将此视图添加到布局后,设置此视图的约束。要在默认文本视图的正下方添加视图,我们需要该文本视图的id,以及之后动态生成的所有其他后续视图。
int lastEditTextId = 0;
boolean isFirstEditText = true;
ConstraintLayout constraintLayout = findViewById(R.id.constraintLayout);
Button buttonAddNewToDo = findViewById(R.id.addNewToDo);
buttonAddNewToDo.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
EditText newToDo = new EditText(MainActivity.this);
newToDo.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
newToDo.setHint("enter new to do");
constraintLayout.addView(newToDo);
newToDo.setId(View.generateViewId());
//Setting constraint set for the new view
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(constraintLayout);
constraintSet.connect(
newToDo.getId(),
ConstraintSet.START,
ConstraintSet.PARENT_ID,
ConstraintSet.START
);
constraintSet.connect(
newToDo.getId(),
ConstraintSet.END,
ConstraintSet.PARENT_ID,
ConstraintSet.END
);
if (isFirstEditText) {
constraintSet.connect(
newToDo.getId(),
ConstraintSet.TOP,
YOUR_DEFAULT_TEXT_VIEW.getId(),
ConstraintSet.BOTTOM
);
isFirstEditText = false;
} else {
constraintSet.connect(
newToDo.getId(),
ConstraintSet.TOP,
lastEditTextId,
ConstraintSet.BOTTOM
);
}
lastEditTextId = newToDo.getId();
constraintSet.applyTo(constraintLayout);
});
我在Google和Stackoverflow上搜索过这个,但我只是没有得到给定的示例。有人能给我解释一下吗? 我想在表视图的最后一列添加一个按钮,当它被单击时,它应该触发一个侦听器并传递buttons行的对象。我只是没有从gist中得到下面的例子。github。通用域名格式: 这是我的完整当前代码: 现在,我必须创建一个的部分是可以理解的。但是如何将其分配给列呢? 我明白这一点: 但不是这个:
问题内容: 如何在Android中动态添加按钮? 问题答案:
问题内容: 我在这方面是一个初学者,因此我正在努力使它起作用。 当按下按钮时,我只是希望拨号器以自动输入的指定号码打开。 到目前为止,我已经尝试了以下方法: 我也尝试过: 我已将权限ACTION_CALL添加到清单中。 每当我单击“呼叫”按钮时,应用程序强制关闭。 任何帮助将不胜感激。 谢谢! 问题答案: 您需要将此权限添加到清单中。
问题内容: 我已经在Google和Stackoverflow上进行了搜索,但没有得到给出的示例。有人可以向我解释一下。 我想在表视图的最后一列中添加一个按钮,当单击它时,它应该触发一个侦听器并传递按钮行的对象。我只是没有从 gist.github.com 得到以下示例: 这是我目前的完整代码: 现在我必须创建的部分是可以理解的。但是如何将其分配给列? 我了解这一点: 但这不是: 问题答案: 为了能
问题内容: 我只是试图在我的注释点添加一个细节按钮而被卡住,不幸的是,我不知道该怎么做。有人可以帮我吗? 下图显示了我想要实现的目标。谢谢! MapKitViewController: 问题答案: 您做对了,您只需要实现这些方法即可添加按钮以及标题和副标题 iOS 8和Xcode 6 查看我的输出。