0

こんにちは、

私はスナックバーで作業していて、(UNDO のような) アクションを入れようとしましたが、テキストが画面の右側に配置されません。

私が必要とする結果:

ここに画像の説明を入力

私が持っている結果:

ここに画像の説明を入力

ご覧のとおり、「元に戻す」アクションは、必要に応じて正しく配置されていません。

ここに私のスナックバーコードがあります:

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();

誰かが私を助けることができますか?

ありがとうございました !

4

1 に答える 1

0

独自のカスタム スナックバー レイアウトを作成するカスタム スナックバー

コア部分は以下

<!-- 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();
于 2016-12-14T04:43:05.153 に答える