Bố cục chính của tôi main.xml chỉ chứa hai LinearLayouts:
- Máy
LinearLayoutchủ thứ nhất aVideoViewvà aButton, - Máy thứ 2
LinearLayouttổ chức mộtEditTextvà đ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 EditTextlĩ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 EditTextchỉ 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?