Watchout! Это не будет работать с LinearLayout, хотя. Потому что конструктор LinearLayout.LayoutParams (...) отличается от конструктора FrameLayout.LayoutParams (...). Третий параметр - это не гравитация, а вес.
LinearLayout.LayoutParams(int width, int height, float weight)
в отличие от
FrameLayout.LayoutParams(int width, int height, int gravity)
и этот вызов, несмотря на то, что не производит ошибка компилятора на самом деле неверна:
lparams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.LEFT);