iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
Mobile Development

Android studio 30天新手筆記系列 第 6

Day6-Android新手筆記-Snackbar與Toast基本介紹

  • 分享至 

  • xImage
  •  

Snackbar與Toast功能相似,都可作為提示之用。可以將Snackbar視為Toast的進階版,比Toast的功能更多,也更加美觀。
Snackbar可分為一般顯示與有按鈕的顯示,Snackbar提供一個點擊事件可供使用。接下來我們先從一般顯示來認識:
/images/emoticon/emoticon08.gif

UI布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>

Java程式碼

    public class MainActivity extends AppCompatActivity {
    LinearLayout linearLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        linearLayout = findViewById(R.id.linearLayout);

        //Snackbar一般顯示
        Snackbar.make(findViewById(R.id.linearLayout), 
        "這是 Snackbar", Snackbar.LENGTH_LONG).show();
        
    }
}

在有一般顯示的基礎下,我們為其加上按鈕(藍色OK按鈕):

    public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Snackbar有按鈕的顯示
        Snackbar.make(findViewById(R.id.linearLayout), "這是 Snackbar", Snackbar.LENGTH_LONG)
                .setAction("OK", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                       //點擊時要執行的動作 
                    }
                })
                .setActionTextColor(Color.BLUE) //可以指定文字顏色
                .show();
        }
    }

/images/emoticon/emoticon27.gif
接下來換到較為輕量的Toast了,它與Snackbar的一般顯示十分相像,也非常簡單:

    public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Toast.makeText(MainActivity.this, "這是 Toast", Toast.LENGTH_SHORT).show();
        
        }
    }


/images/emoticon/emoticon41.gif


上一篇
Day5-Android新手筆記-ListView元件基本介紹
下一篇
Day7-Android新手筆記-AlertDialog與ProgressDialog
系列文
Android studio 30天新手筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言