如何在不影响.xml文件的情况下使用Android Snackbar

时间:2017-01-19 11:58:46

标签: android xml android-layout layout android-coordinatorlayout

如何在不影响.xml文件的情况下使用Android Snackbar。我想在我的应用程序中使用android snackbar但是当我要替换

<

<android.support.design.widget.CoordinatorLayout 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"
android:orientation="vertical"
>

取代

<LinearLayout 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"
android:orientation="vertical"
>

我的用户界面被取消了我应该做什么,请建议

2 个答案:

答案 0 :(得分:2)

您可以使用java添加Snackbar

Snackbar snackbar=Snackbar.make(ID_OF_PARENT_LAYOUT,"Hello",Snackbar.LENGTH_LONG);

snackbar.show();

答案 1 :(得分:0)

试用此源代码

 <?xml version="1.0" encoding="utf-8"?>
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.hoffensoft.mydatabaseapplication.MainActivity">
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

   >
</android.support.design.widget.CoordinatorLayout>
<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>
</RelativeLayout>

// java的

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.text);
    coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
    textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Snackbar snackbar = Snackbar
                .make(coordinatorLayout, "Message is deleted", Snackbar.LENGTH_LONG)
                .setAction("UNDO", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Snackbar snackbar1 = Snackbar.make(coordinatorLayout, "Message is restored!", Snackbar.LENGTH_INDEFINITE);

                        snackbar1.show();
                    }
                });
            snackbar.show();

        }
    });