編輯:關於Android編程
Snackbars provide lightweight feedback about an operation. They show a brief message at the
bottom of the screen on mobile and lower left on larger devices. Snackbars appear above all other
elements on screen and only one can be displayed at a time.
They automatically disappear after a timeout or after user interaction elsewhere on the screen,
particularly after interactions that summon a new surface or activity. Snackbars can be swiped
off screen.
Snackbars can contain an action which is set via
{@link #setAction(CharSequence, android.view.View.OnClickListener)}.
To be notified when a snackbar has been shown or dismissed, you can provide a {@link Callback} via {@link #setCallback(Callback)}.
翻譯:
Snackbar為用戶的一個操作提供輕量級的反饋,他會在手機屏幕的底部或者是大設備的左下方顯示一個簡潔的消息。Snackbar出現在屏幕所有元素的上面,顯示一小會。
Snackbar顯示一會後會自動消失,用戶點擊其他地方的時候也會消失,尤其,當顯示一個新的界面的時候,Snackbar會滑出界面。
Snackbar 可以通過setAction(CharSequence, android.view.View.OnClickListener) 來設置一個點擊事件,同時也可以通過setCallback(Callback)來監聽snackbar的顯示和消失。
Snackbar中Public屬性列表
整理而言的話,感覺Snackbar就是Toast的一個升級版本,使用的方式和Toast也比較相似。
創建Snackbar之後一定要記得調用show()方法
–代碼內容–
package mraz.com.snackdemo;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
RelativeLayout rootLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rootLayout = (RelativeLayout) findViewById(R.id.root_layout);
Button shortButton = (Button) findViewById(R.id.short_button);
Button longButton = (Button) findViewById(R.id.long_button);
shortButton.setOnClickListener(this);
longButton.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.short_button:
final Snackbar shortSnackbar = Snackbar.make(rootLayout, " Short SnackBar", Snackbar.LENGTH_SHORT);
shortSnackbar.setAction("Click", new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(rootLayout.getContext(), "Shoort Snackbar onClick", Toast.LENGTH_SHORT).show();
}
}
);
shortSnackbar.setActionTextColor(getResources().getColor(R.color.colorPrimaryDark));
shortSnackbar.show();
break;
case R.id.long_button:
Snackbar longSnackbar = Snackbar.make(rootLayout, " Long SnackBar", Snackbar.LENGTH_LONG);
longSnackbar.setCallback(new SnackCallback());
longSnackbar.show();
break;
}
}
class SnackCallback extends Snackbar.Callback {
@Override
public void onDismissed(Snackbar snackbar, int event) {
super.onDismissed(snackbar, event);
Toast.makeText(rootLayout.getContext(), "SnackBar onDismissed", Toast.LENGTH_SHORT).show();
}
@Override
public void onShown(Snackbar snackbar) {
super.onShown(snackbar);
Toast.makeText(rootLayout.getContext(), "SnackBar onShown", Toast.LENGTH_SHORT).show();
}
}
}
一、概述由於應用程序之間不能共享內存。在不同應用程序之間交互數據(跨進程通訊),在Android SDK中提供了4種用於跨進程通訊的方式。這4種方式正好對應於androi
上一篇文章《CoordinateLayout的使用如此簡單 》對CoordinateLayout的使用做了講解,今天我們再講解常常與其一起使用的幾個View:AppBar
在我們開發應用程序時,通常都會用到獲取手機聯系人信息這一十分常用的功能,最近項目裡也要實現此功能,想到以後的APP還十分可能還有此功能,就干脆把這個小功能放到一個類中去,
30、簡要解釋一下Activity、 Intent 、Intent Filter、Service、BroadcastReceiver。一個activity呈現了一個用戶可