how to change the layout in frame layout on the click event?

老子叫甜甜 提交于 2019-12-31 05:33:10

问题


i have an layout consisting of two frame layout, my first Frame layout consist of the buttons,and another Frame layout is blank ,on click event on the button in first frame layout i wish to load the Activity layout in the second Frame layout? This is my XML LAYOUT

    <FrameLayout 
        android:id="@+id/mainframelayout"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >

        <LinearLayout 
            android:id="@+id/mainliner"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="#565765">
        <FrameLayout 
            android:id="@+id/leftlayout"
            android:layout_width="wrap_content"
            android:layout_height="350dp"
            android:layout_marginTop="30dp"
            android:background="#321324">
            <LinearLayout 
                android:id="@+id/liner"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_marginTop="50dp"
                android:orientation="vertical">
            <Button 
                android:id="@+id/btn1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="firstButton"
                android:text="A"/>
            <Button 
                android:id="@+id/btn5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="fifthButton"
                android:text="B"/>
            <Button 
                android:id="@+id/btn2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="secondButton"
                android:text="C"/>
            <Button 
                android:id="@+id/btn3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="thirdButton"           
                android:text="D"/>          
            <Button 
                android:id="@+id/btn4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="fourthButton"
                android:text="E"/>
            </LinearLayout>                 
        </FrameLayout>
        <FrameLayout 
            android:id="@+id/rightframe"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#565765">

        </FrameLayout>
        </LinearLayout>
    </FrameLayout>

回答1:


This was the  Finalized Solution to my problem.
On the click event of my button i Just have to set the Visibility of the Desired framelayout to be visible.

/////////////////////////// The XML LAYOUT//////////////////////////////////////////


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <LinearLayout 
        android:id="@+id/mainliner"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_below="@+id/relative"
        android:background="#454565">
    <FrameLayout 
        android:id="@+id/leftlayout"
        android:layout_width="50dp"
        android:layout_height="300dp"
        android:layout_marginTop="50dp">
        <LinearLayout 
            android:id="@+id/liner"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginTop="10dp"
            android:background="#FF9B00"
            android:orientation="vertical">
        <Button 
            android:id="@+id/btn1"
            android:layout_marginTop="20dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="firstButton"
            android:textColor="#000000"
            android:padding="1dp"
            android:background="@drawable/roundbtn"
            android:text="A"/>
        <Button 
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="secondButton"
            android:textColor="#000000"
            android:padding="1dp"
            android:layout_marginTop="5dp"
            android:background="@drawable/roundbtn"
            android:text="B"/>
        <Button 
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="thirdButton"          
            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:background="@drawable/roundbtn"
            android:padding="1dp" 
            android:text="C"/>          
        <Button 
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:background="@drawable/roundbtn"
            android:padding="1dp"
            android:layout_marginTop="5dp"
            android:onClick="fourthButton"
            android:text="D"/>
        <Button 
            android:id="@+id/btn5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:background="@drawable/roundbtn"
            android:layout_marginTop="5dp"
            android:onClick="fifthButton"
            android:text="E"/>
        </LinearLayout>                 
    </FrameLayout>
    <FrameLayout 
        android:id="@+id/rightframeone"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#123139"
        android:visibility="invisible">
       <GridView
            android:id="@+id/gridView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:columnWidth="80dp"
            android:gravity="center"
            android:numColumns="auto_fit"
            android:stretchMode="columnWidth" >
    </GridView> 
    </FrameLayout>
    <FrameLayout 
        android:id="@+id/rightframetwo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#121232"
        android:visibility="invisible">
        <ImageView 
            android:id="@+id/imageview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/aaaimage"
            />
    </FrameLayout>
    <FrameLayout 
        android:id="@+id/rightframethree"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#454425"
        android:visibility="invisible">
        <ImageView 
            android:id="@+id/imagevieww"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/bstclass"
            />
    </FrameLayout>
        <FrameLayout 
        android:id="@+id/rightframefour"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#567004"
        android:visibility="invisible">
        <ImageView 
            android:id="@+id/imageviewww"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/bstteam"
            />      
    </FrameLayout>
        <FrameLayout 
        android:id="@+id/rightframefive"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#324888"
        android:visibility="invisible">
        <ImageView 
            android:id="@+id/imageviewwww"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@drawable/training"
            />      
    </FrameLayout>
    </LinearLayout>
</RelativeLayout>


//////////////////The Method to the triggered in the Class on the click event////////////////////

This the functionality we need to do on our button

    public void firstButton(View view) 
    {
        frmtwo.setVisibility(View.INVISIBLE);
        frmtwo.setVisibility(View.GONE);
        frmthree.setVisibility(View.INVISIBLE);
        frmthree.setVisibility(View.GONE);
        frmfour.setVisibility(View.INVISIBLE);
        frmfour.setVisibility(View.GONE);
        frmfiv.setVisibility(View.INVISIBLE);
        frmfiv.setVisibility(View.GONE);
        frmone.setVisibility(View.VISIBLE);

    }



回答2:


you have to use fragment for that.

FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
                        .beginTransaction();
CalculatorTwo calculator = new CalculatorTwo();
fragmentTransaction.setCustomAnimations(R.anim.slide_top,
                        R.anim.slide_down);
fragmentTransaction.add(R.id.content_first, calculator);
ragmentTransaction.commit();


来源:https://stackoverflow.com/questions/26052353/how-to-change-the-layout-in-frame-layout-on-the-click-event

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!