有没有一种简单的方法来创build一个动作button片段?

动作button是这样的:

操作按钮

我认为框架应该提供易于使用的片段,开发人员只需提供标题,图标,背景图像和侦听器。 我没有在文档中find它,你知道吗?

Solutions Collecting From Web of "有没有一种简单的方法来创build一个动作button片段?"

我根据devise指南自行写下来:

ActionFragment.java

public class ActionFragment extends Fragment implements View.OnClickListener { private static Listener mListener; private CircledImageView vIcon; private TextView vLabel; public static ActionFragment create(int iconResId, int labelResId, Listener listener) { mListener = listener; ActionFragment fragment = new ActionFragment(); Bundle args = new Bundle(); args.putInt("ICON", iconResId); args.putInt("LABEL", labelResId); fragment.setArguments(args); return fragment; } @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_action, container, false); } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); vIcon = (CircledImageView) view.findViewById(R.id.icon); vLabel = (TextView) view.findViewById(R.id.label); vIcon.setImageResource(getArguments().getInt("ICON")); vLabel.setText(getArguments().getInt("LABEL")); view.setOnClickListener(this); } @Override public void onClick(View v) { mListener.onActionPerformed(); } public interface Listener { public void onActionPerformed(); } } 

布局/ fragment_action.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="24dp" android:paddingBottom="12dp" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.wearable.view.CircledImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" tools:src="@drawable/ic_full_cancel" app:circle_color="@color/action_button" app:circle_radius="52dp" app:circle_border_width="0dp"/> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:text="Cancel" android:id="@+id/label" android:fontFamily="sans-serif-condensed-light" android:textSize="20sp" android:textColor="@color/white"/> </LinearLayout> 

彩色/ action_button.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#2878ff" android:state_pressed="false" /> <item android:color="#2955C5" android:state_pressed="true" /> </selector> 

示例用法(例如,在FragmentGridPagerAdapter中)

 ActionFragment.create(R.drawable.ic_full_open_on_phone, R.string.open_on_phone, new ActionFragment.Listener() { @Override public void onActionPerformed() { } });