Ma mise en page principale main.xml contient simplement deux LinearLayouts:
- Le 1er
LinearLayout
héberge unVideoView
et unButton
, - Le 2ème
LinearLayout
héberge unEditText
, et celaLinearLayout
a défini la valeur de visibilité sur " GONE " (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 implémenté avec succès la fonctionnalité selon laquelle lorsque le Button
(avec id my_btn) est enfoncé, le 2ème champ LinearLayout
avec EditText
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 le code Java ci-dessus, le 2ème LinearLayout
avec EditText
est affiché comme l' ajout en dessous du 1er LinearLayout
ce qui a du sens.
MAIS , Ce que j'ai besoin est: quand Button
(id: my_btn) est pressée, le 2ème LinearLayout
avec EditText
est montré au - dessus de la 1ère LinearLayout
, qui ressemble à la 2ème LinearLayout
avec EditText
est en hausse à partir du bas de l' écran, et la 2ème LinearLayout
avec EditText
occupent seulement une partie de la écran à partir du bas, c'est le 1er LinearLayout encore visible, comme l'image ci-dessous l'a montré:
Alors, quand Button
(id: my_btn) est pressé comment afficher la 2ème LinearLayout
avec EditText
au - dessus de la 1ère LinearLayout
place du annexant 2 LinearLayout
ci - dessous le 1er LinearLayout
programme?
TextView
le dessus? est-ce parce qu'il arrive deuxième dans la liste?