View
Positionen innerhalb ViewGroup
s durch die LayoutParams
definiert sind, wie kommt das? Ansichten geben ihre LayoutParams an ihre Mutter ViewGroups
//100% programatic approach with simple LayoutParams
LinearLayout myLinearLayout = new LinearLayout(this);
//if the **parent** of the new linear layout is a FrameLayout
FrameLayout.LayoutParams layoutParams =
new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
//or if you have the XML file you don't have to worry about this
//myLinearLayout = (LinearLayout)findViewById(R.id.my_simple_linear_layout);
//you could have a LinkedList<TextView>
LinkedList<TextView> textViewList = new LinkedList<>();
//assuming the order is the correct order to be displayed
Iterator<TextView> descendingIterator = textViewList.descendingIterator();
while(descendingIterator.hasNext())
{
//just add each TextView programatically to the ViewGroup
TextView tView = descendingIterator.next();
myLinearLayout.addView(tView);
}
Genau wie wir LayoutParams
für die LinearLayout
definiert konnten wir auch LayoutParams für die
WICHTIG TextView
definieren: Wenn LayoutParams Einstellung, die Sie müssen sicher sein,
sie passen die Viewgroup, das ist die
Mutter der Ansicht
hinzugefügt wird
private TextView textViewFactory(String myText) {
TextView tView = new TextView(getBaseContext());
//controling the position relatively to the PARENT
//because you are adding the textview to a LINEAR LAYOUT
LinearLayout.LayoutParams paramsExample =
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
tView.setLayoutParams(paramsExample);
//configuring the insides of the textview
//you can also do all kinds of stuff programatically
tView.setGravity(Gravity.CENTER_HORIZONTAL);
tView.setPadding(10, 10, 10, 10);
tView.setTypeface(Typeface.DEFAULT_BOLD);// (null, Typeface.BOLD_ITALIC);
tView.setTypeface(Typeface.SANS_SERIF);
tView.setTypeface(null, Typeface.ITALIC);
tView.setTypeface(Typeface.defaultFromStyle(R.style.AppTheme));
tView.setId(R.id.aux_info);
tView.setText(myText);
//.........all kinds of stuff really
return tView;
}
Was ist die Frage? Und was meinst du mit "über dem vorherigen"? Meinst du über die Spitze der vorherigen Ansicht? Oder meinst du das über der vorherigen Ansicht? Entschuldigung, aber Sie müssen wirklich genauer über das sein, was Sie erreichen wollen – SimonH
Ich meine "über der vorherigen Ansicht platziert". Ich lade einige Daten aus der Datenbank und ich möchte, dass sie nach dem neuesten Datensatz sortiert werden. Es ist kein Problem, weil ich es vom Ende der Liste laden kann.Aber später, wenn der Benutzer die nächste Ansicht dynamisch hinzufügt, sollte er oben im Rest erscheinen. Das ist der Geist der Frage. – Gniewomir