android中helper方法的最佳实践

时间:2016-03-08 18:27:43

标签: java android

我有两个自定义视图,它们都从RelativeLayout继承。 两者都需要有相同的辅助方法。

f.e。

public static void setViewHeight(View v, int heightInDp) {
    ViewGroup.LayoutParams layoutParams = v.getLayoutParams();
    layoutParams.height = Helper.convertDpToPixel(heightInDp);

    v.setLayoutParams(layoutParams);
}

正如您所看到的,目前我正在使用带有静态方法的帮助器/实用程序类来实现此目的。但是我对它感到不舒服并且寻找一种更干净的方式,而不是将视图传递给静态上下文。

另一个想法是编写一个从RelativeLayout扩展的抽象基类。但是如果我想稍后在其他自定义视图中使用辅助方法,我不希望被限制为RelativeLayout。

我的最后一个想法是为每个Helper方法创建一个类。 对于上面的例子,它可能是这样的:

public class LayoutTransition {

    private View mView;

    public LayoutTransition(View v) {
        mView = v;
    }

    public View withHeight(int height) {
        ViewGroup.LayoutParams layoutParams = mView.getLayoutParams();
        layoutParams.height = height;
        mView.setLayoutParams(layoutParams);
        return mView;
    }

}

但在这里我必须始终使用副本和许多对象。

这种困难的最佳做法是什么?

0 个答案:

没有答案