私はCoordinatorLayoutを使用してスナーバーを表示しましたが、レイアウトによってはコーディネーターレイアウトを使用していないため、スナックバーを表示したいが問題に直面していました。コーディネーターレイアウトなしのスナックバー表示
CoordinatorLayoutを使わずにsnackbarを達成するために以下の方法を試しましたが、次の結果が表示されます。アンドロイド8.0オレオ
と
Snackbar.make(getActivity().getWindow().getDecorView().getRootView(), "Testing Snackbar", Snackbar.LENGTH_LONG).show();
テストはCoordinatorLayoutなしでスナックバーを達成する方法はありますか?
ありがとうございます。
コード
public class FirstFragment extends Fragment {
RelativeLayout rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_first, container, false);
Log.e("onCreateView", "onCreateView");
rootView = (RelativeLayout)view.findViewById(R.id.rootView);
setSnackBar(rootView, "Testing with answered");
return view;
}
public static void setSnackBar(View coordinatorLayout, String snackTitle) {
Snackbar snackbar = Snackbar.make(coordinatorLayout, snackTitle, Snackbar.LENGTH_SHORT);
snackbar.show();
View view = snackbar.getView();
TextView txtv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
txtv.setGravity(Gravity.CENTER_HORIZONTAL);
}
}
...このコードの簡単な作品をお試しください。有効なビューを提供してください。 –
@NileshPanchal私の場合はどのビューでも動作していますが、このコードを私のUtilsクラスに入れてこのメソッドを呼び出すと、それは魅力的なものです –
@NileshPanchalあなたはidを持つ親ビューを提供していますか? –