簡體   English   中英

在框架布局中顯示/隱藏onTouch的布局

[英]Show/Hide Layout onTouch in framelayout

我有完整的圖像片段。 在framelayout中有一個RelativeLayout和LinearLayout。 LinearLayout包含viewpager。

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/linearLayoutViewpager">


    <com.bogdwellers.pinchtozoom.view.ImageViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


</LinearLayout>

<RelativeLayout
    android:id="@+id/relativelayoutforbuttons"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/save_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save" />


</RelativeLayout>

我想要當用戶第一次打開它時,它應該僅顯示圖像(Viewpager布局),如果用戶單擊它,則顯示其他選項,例如-share and save(RelativeLayout)。 我們可以在facebook和whatsapp中找到這種類型的功能。

嘗試使用這種類型的代碼以保持良好的風格。

private void share(){
    relativeLayout.setVisibility(View.VISIBLE);
    linearLayoutViewpager.setVisibility(View.GONE);
}


 linearLayoutViewpager=findViewById(R.id.linearLayoutViewpager);
    linearLayoutViewpager.setVisibility(View.VISIBLE);
    relativeLayout=findViewById(R.id.relativelayoutforbuttons);
    relativeLayout.setVisibility(View.GONE);

它只是示例代碼,但可以根據您的需要進行管理。

     final boolean flag=true;
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (flag){
                relativeLayout.setVisibility(View.VISIBLE);
                flag=false;
            }
            else{
                relativeLayout.setVisibility(View.GONE);
            }
        }
    });

您可以在linearLayout或imageviewpager單擊時使用setVisibility。(..)方法簡單地隱藏或取消隱藏relativeLayout的實例。

布局:

    <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/framelayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/linearLayoutViewpager">


        <ImageViewPager
            android:id="@+id/viewpager"
            android:onClick="onPagerClick"
            android:layout_width="200dp"
            android:layout_height="200dp" />


    </LinearLayout>

    <RelativeLayout
        android:id="@+id/relative_layout"
        android:visibility="gone"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/save_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onSave"
        android:text="Save" />


</RelativeLayout>

</FrameLayout>

活動:

   public class TestActivity extends AppCompatActivity {

    private boolean isButtonShown = false;
    ImageViewPager viewPager;
    RelativeLayout layout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        viewPager = findViewById(R.id.viewpager);

        layout = findViewById(R.id.relative_layout);




    }


    public void onPagerClick(View view) {

        if (isButtonShown) {
            isButtonShown = false;
            layout.setVisibility(View.GONE);
        } else {
            isButtonShown = true;
            layout.setVisibility(View.VISIBLE);
        }

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM