下午好,
我正在使用Snackbars并尝试放置一个aciton(如UNDO),但文本未对齐到屏幕右侧。
我需要的结果:
我的结果是:
正如您所看到的,“UNDO”操作并未正确对齐,正如我所需要的那样。
这是我的Snackbar代码:
Snackbar snackbar = Snackbar.make(mMainContent, "Message deleted", Snackbar.LENGTH_LONG)
.setAction("UNDO", new View.OnClickListener() {
@Override
//Todo: Click on "UNDO"
public void onClick(View view) {
}
});
snackbar.setActionTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white));
View snackbarView = snackbar.getView();
snackbarView.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.colorAccent));
snackbar.show();
有人能帮助我吗?
谢谢!
答案 0 :(得分:0)
创建自己的自定义小吃栏布局Custom snackbar
核心部分在
之下<!-- language: lang-java -->
// Create the Snackbar
Snackbar snackbar = Snackbar.make(containerLayout, "", Snackbar.LENGTH_LONG);
// Get the Snackbar's layout view
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
// Hide the text
TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
textView.setVisibility(View.INVISIBLE);
// Inflate our custom view
View snackView = mInflater.inflate(R.layout.my_snackbar, null);
// Configure the view
ImageView imageView = (ImageView) snackView.findViewById(R.id.image);
imageView.setImageBitmap(image);
TextView textViewTop = (TextView) snackView.findViewById(R.id.text);
textViewTop.setText(text);
textViewTop.setTextColor(Color.WHITE);
// Add the view to the Snackbar's layout
layout.addView(snackView, 0);
// Show the Snackbar
snackbar.show();