Mein Hauptlayout main.xml enthält einfach zwei LinearLayouts:
- Der 1.
LinearLayoutGastgeber aVideoViewund aButton, - Der 2.
LinearLayouthostet einEditText, und diesLinearLayouthat den Sichtbarkeitswert auf " GONE " gesetzt (android:visibility="gone")
Wie unten:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
>
<LinearLayout
android:id="@+id/first_ll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<VideoView
android:id="@+id/my_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="9"
/>
<Button
android:id="@+id/my_btn"
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_gravity="right|bottom"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/second_ll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="2dip"
android:visibility="gone"
>
<EditText
android:id="@+id/edit_text_field"
android:layout_height="40dip"
android:layout_width="fill_parent"
android:layout_weight="5"
android:layout_gravity="center_vertical"
/>
</LinearLayout>
</LinearLayout>
Ich implementierte erfolgreich das Merkmal , dass , wenn die Button(mit der ID my_btn) gedrückt wird, die zweite LinearLayout mit EditTextist Feld angezeigt, mit dem folgenden Java - Code:
LinearLayout secondLL = (LinearLayout) findViewById(R.id.second_ll);
Button myBtn = (Button) findViewById(R.id.my_btn);
myBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
int visibility = secondLL.getVisibility();
if(visibility==View.GONE)
secondLL.setVisibility(View.VISIBLE);
}
});
Mit dem obigen Java-Code wird der 2. LinearLayout mit EditTextwie unter dem 1. angehängt angezeigt LinearLayout, was sinnvoll ist.
ABER , was ich brauche ist: Wenn Button(id: my_btn) gedrückt wird, wird das 2. LinearLayout mit EditText oben auf dem 1. angezeigtLinearLayout , was so aussieht, als ob das 2. LinearLayout mit EditTextvom unteren Bildschirmrand aufsteigt, und das 2. LinearLayout mit EditTextnur einen Teil des Bildschirm von unten, das ist das 1. LinearLayout, das noch sichtbar ist, wie das folgende Bild zeigt:

Wenn also Button(id: my_btn) gedrückt wird, wie wird die 2. LinearLayout mit EditText über der 1. angezeigt, LinearLayoutanstatt die 2. programmgesteuert an die 1.LinearLayout unter der 1. LinearLayout anzuhängen?


TextViewoben? liegt es daran, dass es in der Auflistung an zweiter Stelle steht?