1
我想在屏幕上有两个布局。一个可滚动的,另一个应该包含一个按钮,可以添加可滚动布局的东西,并始终应该可见。我不确定我是否正朝着正确的方向前进,但到目前为止,我已经拥有了这个功能,而且我的代码工作方式并不令人期待。如果单击buttonSPAddText
EditText与按钮出现在同一行中。我希望它在另一个版式linearLayoutSPTextHolder
之下出现在它们下面。动态添加EditText到非儿童布局的另一个LinearLayout
这是我的XAML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:p1="http://schemas.android.com/apk/res/android"
p1:orientation="vertical"
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="match_parent"
p1:layout_height="match_parent"
p1:id="@+id/linearLayoutSPMain">
<LinearLayout
p1:orientation="horizontal"
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="match_parent"
p1:layout_height="51.0dp"
p1:id="@+id/linearLayoutSPButtonHolder"
p1:layout_weight="1">
<Button
p1:text="AddText"
p1:layout_width="wrap_content"
p1:layout_height="match_parent"
p1:id="@+id/buttonSPAddText"
p1:layout_weight="1" />
<Button
p1:text="Do nothing"
p1:layout_width="wrap_content"
p1:layout_height="match_parent"
p1:id="@+id/buttonSPDoNth"
p1:gravity="center_vertical"
p1:layout_weight="1" />
</LinearLayout>
<ScrollView
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="match_parent"
p1:layout_height="wrap_content"
p1:id="@+id/scrollViewSPText"
p1:layout_weight="6">
<LinearLayout
p1:orientation="vertical"
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="match_parent"
p1:layout_height="wrap_content"
p1:id="@+id/linearLayoutSPTextHolder"
p1:scrollbars="horizontal" />
</ScrollView>
</LinearLayout>
和我的活动:
namespace TiesaDrasaAndroid
{
[Activity (Label = "SelectPlayersActivity")]
public class SelectPlayersActivity : Activity
{
private int _textBoxId = 1000;
private LinearLayout _layout = null;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.SelectPlayers);
_layout = (LinearLayout)FindViewById(Resource.Id.linearLayoutSPTextHolder);
_layout.Orientation = Orientation.Vertical;
Button addPl = FindViewById<Button>(Resource.Id.buttonSPAddText);
addPl.Click += delegate {
this.CreateUserTextBox();
};
}
private void CreateUserTextBox()
{
var textbox = new EditText (this);
textbox.Id = _textBoxId;
textbox.SetWidth (100);
_textBoxId++;
_layout.AddView (textbox);
}
}
它的工作。 Thanx – valentasm 2014-10-18 09:23:47
欢迎您....你能接受吗? – MohamedZaatari 2014-10-19 13:06:45
我是新来的。花了一些时间才知道如何接受它:D。当然在源代码分析之后。 – valentasm 2014-10-19 13:24:09