Ma page principale main.xml ne contient que deux LinearLayouts:
- Le 1er
LinearLayout
accueille uneVideoView
etButton
, - La 2e
LinearLayout
accueille unEditText
, et ceLinearLayout
a définir la visibilité de la valeur à "DISPARU" (android:visibility="gone"
)
comme ci-dessous:
<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>
J'ai mis en œuvre avec succès la fonction que lorsque l' Button
(avec l'id my_btn) est enfoncée, le 2e LinearLayout
avec EditText
champ est affiché, avec le code Java suivant:
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);
}
});
Avec la ci-dessus du code Java, le 2e LinearLayout
avec EditText
est indiqué comme ci-dessous en ajoutant le 1er LinearLayout
qui a du sens.
MAIS, Ce dont j'ai besoin est: quand Button
(id: my_btn) est enfoncée, le 2e LinearLayout
avec EditText
est indiquée sur le dessus de la 1re LinearLayout
, qui ressemble à la 2e LinearLayout
avec EditText
est à la hausse à partir du bas de l'écran, et le 2e LinearLayout
avec EditText
seulement occupent une partie de l'écran à partir du bas, c'est le 1er LinearLayout encore visibles, comme l'image ci-dessous ont montré:
Ainsi, lors de l' Button
(id: my_btn) est appuyé sur la façon de montrer la 2e LinearLayout
avec EditText
sur le haut de la 1re LinearLayout
au lieu de ajoutant 2e LinearLayout
- dessous 1re LinearLayout
par programmation?