私のメインレイアウトmain.xmlには、2つのLinearLayoutが含まれています。
- 第一
LinearLayout
のホストVideoView
とButton
、 - 2番目はを
LinearLayout
ホストしEditText
、これLinearLayout
により可視性の値が「GONE」に設定されました(android:visibility="gone"
)
以下のように:
<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>
Button
(id my_btn)を押すと、2番目の LinearLayout
withEditText
フィールドが表示される機能を、次のJavaコードで正常に実装しました。
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);
}
});
上記のJavaコードでは、2番目の LinearLayout
withEditText
は、1番目の下に追加するように表示されます。これは理にかなっています。 LinearLayout
しかし、私は必要なのである:ときButton
(ID:my_btnという)が押下され、第二 LinearLayout
では、EditText
上に示されている第一 LinearLayout
のように見えた、第二 LinearLayout
では、EditText
画面の下部、およびから上昇して第二 LinearLayout
とのEditText
唯一の部分を占めます下の画像が示すように、画面の下から、それはまだ表示されている最初のLinearLayoutです。
だから、ときButton
(ID:my_btnという)を表示する方法を押されて第二 LinearLayout
とEditText
の上に第一 LinearLayout
の代わりに追加の第二 LinearLayout
下の第一 LinearLayout
、プログラムを?
TextView
一番上にあるのですか?それはリストの2番目に来るからですか?