为什么导入静态<project-name> .R.id.snackbarView

时间:2017-09-22 01:53:49

标签: android android-coordinatorlayout android-snackbar

我们在使用Snackbar的Activity的XML文件中添加了android.support.design.widget.CoordinatorLayout。所有Gradle信息都是正确的,另外两个相应的导入是导入的minSdk是19支持设计是v25.3.1我的问题是为什么这个导入发生并且我在某处省略了一些设置?

原始XML代码文件具有相对布局以及其他项目以及CoordinatorLayout小部件的XML

快餐栏的代码

    public void showSnackbar(){

    //coordinatorLayout = findViewById(snackbarView);

    //Snackbar snackbar = null;
        final Snackbar snackbar = Snackbar
                .make(findViewById(snackbarView), getText(R.string.snackbar_text),1);
                snackbar.setActionTextColor(Color.RED);
                snackbar.setAction("EXIT", new View.OnClickListener(){

            @Override
            public void onClick(View view) {
                //Intent intent = new Intent(DetailsActivity.this, MainActivity.class);
                //startActivity(intent);
                snackbar.dismiss();
            }
        });

        TextView snackbarActionTextView  = (TextView) snackbar.getView().findViewById( android.support.design.R.id.snackbar_action );
        snackbarActionTextView.setTextSize( 30 );
        snackbarActionTextView.setTypeface(snackbarActionTextView.getTypeface(), Typeface.BOLD);

        TextView snackbarTextView = (TextView) snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
        snackbarTextView.setTextSize( 30 );
        snackbarTextView.setMaxLines( 3 );
        snackbarTextView.setTextColor(Color.YELLOW);
        snackbar.setDuration(Snackbar.LENGTH_INDEFINITE);
        snackbar.show();

    }

这是我的导入

  import android.support.design.widget.Snackbar;
  import android.support.v7.app.AppCompatActivity;

1 个答案:

答案 0 :(得分:1)

James_Duh这里有一些代码可以创建一个简单的Snackbar no Action按钮而另一个方法创建一个带有Action按钮的Snackbar享受不确定导入?

    public void onPLAIN(View view){

    noActLayout = (CoordinatorLayout)findViewById(R.id.USE_ME_TWICE);

    sbNoAct = Snackbar.make(noActLayout,R.string.real_csb_noaction_text,1);// any interger will make it happy
    sbNoAct.setDuration(4000);// 4 sec // OR Snackbar.LENGTH_LONG matters NOT you are setting duration here

    View sbView = sbNoAct.getView();
    sbView.setBackgroundColor(ContextCompat.getColor(this, R.color.color_lightBlue));
    TextView textViewNoAct = sbView.findViewById(android.support.design.R.id.snackbar_text);
    //set text color
    textViewNoAct.setTextColor(ContextCompat.getColor(this,R.color.color_White));
    textViewNoAct.setMaxLines(10);
    textViewNoAct.setTextSize(18);
    //increase max lines of text in snackbar. default is 2.
    sbNoAct.show();
}

public void onWithAct(View view){

    myLayout = (CoordinatorLayout) findViewById(R.id.USE_ME_TWICE);

    sb = Snackbar.make(myLayout, R.string.real_csb_text, Snackbar.LENGTH_INDEFINITE)
            .setAction(R.string.real_csb_action, myOnClickListener)
            .setActionTextColor(ContextCompat.getColor(context, R.color.color_Red));

    View sbView = sb.getView();
    sbView.setBackgroundColor(ContextCompat.getColor(this, R.color.color_White));
    TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
    //set text color
    textView.setTextColor(ContextCompat.getColor(this,R.color.color_deepBlue));
    textView.setTextSize(18);
    //increase max lines of text in snackbar. default is 2.
    textView.setMaxLines(10);
    // NOTE new View
    TextView textAction = sbView.findViewById(android.support.design.R.id.snackbar_action);
    //set Action text color
    textAction.setTextColor(ContextCompat.getColor(this,R.color.color_Red));
    textAction.setTextSize(18);
    sb.show();
}
    View.OnClickListener myOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //sb.dismiss();
            System.out.println("=== I WAS DISMISSED OR SENT TO MainActivity===");
            // OR use and Intent to go somewhere have a nice trip
            Intent intent = new Intent(PageThreeActivity.this, MainActivity.class);
            startActivity(intent);
        }
    };
}