Bố cục chính của tôi main.xml chỉ chứa hai LinearLayouts:
- Máy
LinearLayout
chủ thứ nhất aVideoView
và aButton
, - Máy thứ 2
LinearLayout
tổ chức mộtEditText
và điều nàyLinearLayout
đã đặt giá trị hiển thị thành " GONE " (android:visibility="gone"
)
như dưới đây:
<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>
Tôi thực hiện thành công các tính năng mà khi Button
(với id my_btn) được nhấn, các thứ 2 LinearLayout
với EditText
lĩnh vực được hiển thị, với mã Java sau:
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);
}
});
Với mã Java ở trên, mã thứ 2 LinearLayout
với EditText
được hiển thị giống như nối bên dưới mã thứ nhất LinearLayout
, điều này có ý nghĩa.
NHƯNG , Những gì tôi cần là: khi Button
(id: my_btn) được nhấn, các thứ 2 LinearLayout
với EditText
được hiển thị trên đầu trang của các 1st LinearLayout
, mà trông giống như 2 LinearLayout
với EditText
đang tăng từ đáy màn hình, và thứ 2 LinearLayout
với EditText
chỉ chiếm một phần của màn hình từ dưới lên, đó là LinearLayout đầu tiên vẫn hiển thị, như hình ảnh bên dưới cho thấy:
Vì vậy, khi Button
(id: my_btn) được nhấn làm thế nào để hiển thị thứ 2 LinearLayout
với EditText
trên đầu trang của các 1st LinearLayout
thay vì phụ thứ 2 LinearLayout
dưới 1 LinearLayout
lập trình?
TextView
đứng đầu? có phải vì nó đứng thứ hai trong danh sách không?