必须点击两次以启用单击按钮

时间:2017-04-23 06:45:07

标签: java android android-layout android-fragments

在我的Android应用程序每次启动应用程序时,我必须点击按钮/屏幕两次才能点击它。这意味着在加载应用程序后,我必须点击屏幕上的任意位置,然后单击按钮以触发点击事件。在第一次点击之后一切正常,所有按钮都正常工作。我需要知道如何在开始时摆脱这个双击,因为它让用户感到不舒服。我在谷歌搜索但没有找到。如果您需要部分代码,请告诉我。我没有把它放在这里,因为我不知道我必须把它放在这里:)

编辑:这是我的按钮的xml代码。希望在这里没有错(我猜)

    <Button
                            android:id="@+id/Vignette"
                            style="?android:attr/borderlessButtonStyle"
                            android:layout_width="80dp"
                            android:layout_height="match_parent"
                            android:background="@drawable/btnstatus"
                            android:layout_alignParentBottom="true"
                            android:layout_centerHorizontal="true"
                            android:paddingTop="1dp"
                            android:drawableTop="@drawable/vignette"
                            android:text="Vignette"
                            android:textAllCaps="false"
                            android:textColor="#000000"
                            android:textSize="16sp"
                            android:textStyle="bold" />

和我的主要活动oncreateview

     @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();

    String image_path= intent.getStringExtra("Imagepath");

    fileUri = Uri.parse(image_path);

    setContentView(R.layout.activity_main);

    View decorView = getWindow().getDecorView();

    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;

    decorView.setSystemUiVisibility(uiOptions);

    mainview = (LinearLayout) findViewById(R.id.main);

这是我的主视图启用的地方

 void enablemainlayout()
{
    ((CropImageView)findViewById(R.id.cropImageView)).setVisibility(View.GONE);
    imgviewmain.setImageBitmap(mainimage);
    imgviewmain.setVisibility(View.VISIBLE);



    mainview.setVisibility(View.VISIBLE);
    colorview.setVisibility(View.GONE);
    brightnessview.setVisibility(View.GONE);
    contrastview.setVisibility(View.GONE);
    saturateview.setVisibility(View.GONE);
    vignetteview.setVisibility(View.GONE);
    coloroverlayview.setVisibility(View.GONE);

    blurview.setVisibility(View.GONE);
    cropview.setVisibility(View.GONE);

}

小解释:mainview是布局视图,其中包含我想在主要活动中按下的按钮。此外,我还有一个操作栏,还需要在屏幕上双击以点击点击事件。

链接到我的主要布局的完整xml文件 link to xml

和按钮onclicklistner

    cropping.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            enableonlycroplayout();

       //     cropview.setVisibility(View.VISIBLE);

            if (mainview.getVisibility() == View.GONE && cropview.getVisibility() == View.VISIBLE) {


                android.support.v4.app.Fragment myfragment = new Fragment_For_Crop();

                android.support.v4.app.FragmentManager fmcrop = getSupportFragmentManager();

                getSupportFragmentManager().beginTransaction().add(myfragment, "fragment_for_crop").commit();


            }


        }
    });

这只是主要布局中的一个按钮。感谢

1 个答案:

答案 0 :(得分:0)

嗨,经过几个小时的努力找到解决这个问题的方法后,我找到了答案。

造成的问题
CanBuildFrom[Map[_, _], (A, B), Map[A, B]]

我在oncreate的开头使用这些行来隐藏屏幕上的导航栏。为了解决这个问题,我刚刚更改了上面的行,如下所示

MapBuilder

我不知道这是如何解决问题的,我只是改变它并且它已经工作了。但我希望这对任何遇到同样麻烦的人都有帮助。谢谢,祝你有个美好的一天....