Android 将文本视图动态添加到布局并进行相应调整
我用代码动态添加文本视图。现在我使用了一个水平方向的LinearLayout,我认为当文本视图不适合该行时,它会添加一个新行。我错了 问题是我不知道会有多少行,因为这取决于用户输入。因此,GridView感觉不太好,因为我无法指定列数。我不知道每一个文本视图的大小,如果一个文本视图很长,我希望每行有3个文本视图,这可能会让它看起来很糟糕 我相信有一个简单的解决办法,我只想知道最好的。当我向其中添加文本视图时,应该使用哪种布局,以便在达到屏幕宽度时在第一行下方生成新行Android 将文本视图动态添加到布局并进行相应调整,android,android-layout,textview,xamarin.android,Android,Android Layout,Textview,Xamarin.android,我用代码动态添加文本视图。现在我使用了一个水平方向的LinearLayout,我认为当文本视图不适合该行时,它会添加一个新行。我错了 问题是我不知道会有多少行,因为这取决于用户输入。因此,GridView感觉不太好,因为我无法指定列数。我不知道每一个文本视图的大小,如果一个文本视图很长,我希望每行有3个文本视图,这可能会让它看起来很糟糕 我相信有一个简单的解决办法,我只想知道最好的。当我向其中添加文本视图时,应该使用哪种布局,以便在达到屏幕宽度时在第一行下方生成新行 谢谢 您可以做的事情是使您的
谢谢 您可以做的事情是使您的主要线性布局具有垂直方向,并使许多线性布局的子对象具有水平方向 如果要添加TextView,请获取主布局的最后一个子级,以了解此子级是否可以包含新的TextView。如果没有,则添加具有水平方向的新线性布局参见:
package us.simpleit;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
public class SimpleGUI extends Activity {
TextView tv;
EditText et;
LinearLayout ll;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//LinearLayout ll = new LinearLayout(this);
ll = new LinearLayout(this);
ll.setOrientation(android.widget.LinearLayout.VERTICAL);
ll.setLayoutParams(new ViewGroup.LayoutParams(-1,-1));
// ARGB: Opaque Red
ll.setBackgroundColor(0x88ff0000);
tv = new TextView(this);
tv.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
tv.setText("sample text goes here");
// ARGB: Opaque Green
tv.setBackgroundColor(0x5500ff00);
ll.addView(tv);
et = new EditText(this);
et.setLayoutParams(new ViewGroup.LayoutParams(-1,-2));
et.setText("edit me please");
// ARGB: Solid Blue
et.setBackgroundColor(0xff0000ff);
ll.addView(et);
Button btn = new Button(this);
btn.setText("Go!");
btn.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
tv.setText(et.getText().toString());
}
});
ll.addView(btn);
setContentView(ll);
//setContentView(R.layout.main);
}
}
在这里,我使用了一个TextView和一个EditText。取而代之的是,您可以选择两个文本视图或任意数量的视图
享受。:) 我想问一下,使用多个文本视图而不是一个文本视图,您想要实现什么?删除部分的可能性。每个textview都会有一个名称,用户可能会决定删除一些名称,同时保留一些其他名称。这也是一个解决方案,不过我会选择droid。这只是用新的textview替换旧的textview。如何在旧文本视图旁边添加新文本视图?