Bar*_*Pro 2 eclipse layout android elements hide
我正在开发eclipse中的Android应用程序.
我有一个XML,它有两个彼此相邻的线性布局.左边有几个按钮,可以在右边显示内容.但是,我不仅喜欢这些按钮来显示特定内容,还隐藏(setVisibility.GONE)该布局中的所有其他内容.我已经尝试过removeAllViews,但这不适合我,因为它删除了它们.所以我的想法是隐藏(设置可见性消失)每一个东西,然后制作我希望可见的东西.我问这个的原因是,为所有12个按钮设置所有内容(实际上是24个)的可见性需要花费太多时间.
提前致谢
布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/alap"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/imageView3"
android:layout_alignParentLeft="true"
android:layout_below="@+id/imageView4" >
<LinearLayout
android:layout_width="197dp"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lewis" />
<Button
android:id="@+id/first"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/first" />
<Button
android:id="@+id/second"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/second" />
</LinearLayout>
</ScrollView>
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:scaleType="center"
android:src="@drawable/cpr1" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:scaleType="center"
android:src="@drawable/epizodok" />
<LinearLayout
android:id="@+id/def"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/imageView3"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/scrollView2"
android:layout_toRightOf="@+id/scrollView2"
android:orientation="vertical"
android:visibility="visible" >
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lewis"
android:visibility="gone" />
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:visibility="gone" />
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
请试试这个......
<LinearLayout
android:id="+id/ll"
android:layout_width="197dp"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- All content which you hide/show put here -->
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
现在在你的类文件中你读到了这个.
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
Run Code Online (Sandbox Code Playgroud)
之后根据您的要求,您可以隐藏/显示此布局及其所有内容.
喜欢:隐藏.
ll.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
对于秀.
ll.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)
当您隐藏/显示LinearLayout时,此布局的所有内容也会自动隐藏/显示.
简单地说,只需在"def"线性布局中采用垂直布局的另一个线性布局.根据需要更改其可见性.
<LinearLayout
android:id="@+id/def"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/imageView3"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/scrollView2"
android:layout_toRightOf="@+id/scrollView2"
android:orientation="vertical"
android:visibility="visible" >
<LinearLayout
android:id="@+id/Subdef"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lewis"
android:visibility="gone" />
<ImageView
android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
无需隐藏视图,而只需使用ViewFlipper概念.只需使用这样的两个线性布局在xml文件中声明视图鳍状肢
<Viewflipper android:id="@+id/myViewFlipper" android:layout_height="wrap_content" android:layout_width="match_parent">
<LinearLayout android:id="@+id/layout1" android:layout_height="wrap_content" android:layout_width="match_parent"></LinearLayout>
<LinearLayout android:id="@+id/layout2" android:layout_height="wrap_content" android:layout_width="match_parent"></LinearLayout>
</Viewflipper>
Run Code Online (Sandbox Code Playgroud)
并在这样的java代码中获取viewflipper引用
Viewflipper mFlipper = (Viewflipper)findViewById(R.id.myViewFlipper);
Run Code Online (Sandbox Code Playgroud)
使用mFlipper.showNext(),使用mFlipper.showPrevious()方法隐藏和显示它的布局.
| 归档时间: |
|
| 查看次数: |
10248 次 |
| 最近记录: |