1

私のアプリケーションのレイアウトには、設定ボタンがあります....押すと、いくつかのサブメニューが表示されます..もう一度押すと、すべてのサブメニューが非表示になります....展開可能なリストビューのように見えます.しかし、正確にはそうではありません....別のビュー用のスペースを確保するために、メニューを非表示/非表示にするだけです....どうすればそれを行うことができますか?

これがまさに私がやりたいスクリーンショットです

メニューを隠す

メニューを再表示

ここに私のxmlファイルがあります:

<RelativeLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent">
    <EditText
        android:id="@+id/Editsearch"
        android:hint="Enter keyword..."
        android:layout_alignParentLeft="true"
        android:singleLine="true"
        android:layout_width="fill_parent"
        android:layout_toLeftOf="@+id/search"
        android:layout_height="wrap_content" />
    <ImageButton
        android:id="@+id/search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/button_search"
        android:layout_alignParentRight="true" />
    <Spinner
        android:id="@+id/province"
        android:layout_width="135dp"
        android:layout_height="45dp"
        android:layout_below="@+id/Editsearch"
        android:layout_toLeftOf="@+id/setting"
        android:textSize="12dip"
        android:textStyle="bold"
        android:background="@android:drawable/btn_default"
    />
    <ImageButton
        android:id="@+id/setting"
        android:layout_width="wrap_content"
        android:layout_height="45dip"
        android:layout_below="@+id/Editsearch"
        android:src="@drawable/button_setting"
        android:layout_alignParentRight="true" />
    <Spinner
        android:id="@+id/Category"
        android:layout_width="135dp"
        android:layout_height="45dp"
        android:text="Category"
        android:layout_below="@+id/Editsearch"
        android:layout_alignParentLeft="true"
        android:background="@android:drawable/btn_default" />
        <!-- Job Category title-->
    <TextView
        android:id="@+id/Title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:typeface="serif"
        android:textSize="13dip"
        android:layout_below="@+id/province"
        android:layout_gravity="center"

        android:text="Total Job : 1982"
        android:textStyle="bold" />
    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/Title"
        android:listSelector="@drawable/list_selector" />
</RelativeLayout>

少し早いですがお礼を

4

2 に答える 2

1

とてもシンプルです。これらの 3 つのボタンをレイアウトに配置し、非表示/非表示ボタンのクリックでそのレイアウトの表示/非表示を設定するだけです。

編集 :

非表示/非表示にしたいスピナーをレイアウトに配置し、ID を提供するようなものです。

<ImageButton
        android:id="@+id/setting"
        android:layout_width="wrap_content"
        android:layout_height="45dip"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/Editsearch"
        android:src="@drawable/button_setting" />

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    **android:id="@+id/submenu_layout"**
    android:layout_below="@+id/Editsearch"
    >
    <Spinner
        android:id="@+id/category1"
        android:layout_width="135dp"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:background="@android:drawable/btn_default"
        android:text="Category" />
    <Spinner
        android:id="@+id/category2"
        android:layout_width="135dp"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/category1"
        android:background="@android:drawable/btn_default"
        android:text="Category" />
    <Spinner
        android:id="@+id/category3"
        android:layout_width="135dp"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/category2"
        android:background="@android:drawable/btn_default"
        android:text="Category" />
    </RelativeLayout>

次に、この ID を使用して、コード内でこのレイアウトの参照を取得します。

RelativeLayout submenuLayout = (RelativeLayout) findViewById(R.id.submenu_layout);

編集2:

その後、 imageButton を設定する OnClick :

 if(submenuLayout .getVisibility() == View.VISIBLE)
    submenuLayout .setVisibility(View.GONE);
    else
        submenuLayout .setVisibility(View.VISIBLE);
于 2013-02-06T09:56:52.940 に答える
0

このコードを使用してください

ボタンのクリック時に表示されるようにする

themeUrlRow.setVisibility(View.VISIBLE);

見えないようにする

themeUrlRow.setVisibility(View.GONE);

xmlでボタンをレイアウトに配置し、非表示にして、クリックリスナーに上記のコードを追加します。

xml コード

            <LinearLayout
               android:id="@+id/themeUrlRow"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:visibility="gone" > />

            <Button
                android:id="@+id/register"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Register" />

            <Button
                android:id="@+id/register"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Register" />
        </LinearLayout>
于 2013-02-06T10:00:26.927 に答える