当我扩展GuidedStepFragment时,动作列表中的动作选择为灰色。如何将其更改为蓝色?
public static class FirstStepFragment extends GuidedStepFragment {
@NonNull
@Override
public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {
String title = "Title";
String breadcrumb = "Breadcrumb";
String description = "Description";
Drawable icon = getActivity().getDrawable(R.drawable.ic_videocam_black_24dp);
return new GuidanceStylist.Guidance(title, description, breadcrumb, icon);
}
@Override
public void onCreateActions(@NonNull List actions, Bundle savedInstanceState) {
addAction(actions, ACTION_CONTINUE, "Continue", "Go to SecondStepFragment");
addAction(actions, ACTION_BACK, "Cancel", "Go back");
}
}
}
答案 0 :(得分:0)
您可以覆盖onCreateActionsStylist
并返回GuidedActionsStylist
,在其中您可以使用自己的选择器在onProvideLayout
中提供自定义布局文件,选择器的选定状态为蓝色。
@Override
public GuidedActionsStylist onCreateActionsStylist() {
return new GuidedActionsStylist() {
@Override
public int onProvideLayoutId() {
//return your custom layout here
return super.onProvideLayoutId();
}
@Override
public int onProvideItemLayoutId(int viewType) {
return super.onProvideItemLayoutId(viewType);
}
@Override
public int getItemViewType(GuidedAction action) {
return super.getItemViewType(action);
}
};
}
答案 1 :(得分:0)
使用Theme.Leanback.GuidedStep
作为父项定义新样式,然后使用您喜欢的guidedActionsSelectorDrawable
更改其中的drawable
,如下所示:
<style name="MyGuidedStep" parent="Theme.Leanback.GuidedStep">
<item name="guidedActionsSelectorDrawable">@drawable/guided_action</item>
</style>
您必须将此样式设置为活动的主题,才能将更改应用于guidedStepFragment
。请注意,您可以使用RippleDrawable
,因为它是片段中的默认SelectorDrawable
。