How to use viewGroup in android
Asked
Active
Viewed 7.5k times
44
-
[Here](http://developer.android.com/reference/android/view/ViewGroup.html) is a documentation from Google – Vinay Sep 02 '09 at 15:07
-
http://about-android.blogspot.com/2010/05/create-dynamic-view-group.html This example is OK. Be sure to set unique id-s for such views when using them in `ListView`, or they can be redrawn on scrolling – shaman.sir Sep 13 '10 at 10:30
-
1`ViewGroup` is any group of views literally, - `ListView`, `Linear`/`Horizontal`/`VerticalLayout` ..., all these kinds. What example do you want? Adding or removing views? – shaman.sir Oct 12 '10 at 18:23
1 Answers
31
As mentioned, ViewGroup is an abstract class that all ViewGroups extend, LinearLayout for instance is a ViewGroup.
MyViewGroup.java:
public class MyViewGroup extends LinearLayout {
public MyViewGroup(Context context) {
super(context);
}
public MyViewGroup(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyViewGroup(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
Log.e("SWIPED", "onLayout : " + Boolean.toString(changed));
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
super.onInterceptTouchEvent(event);
Log.e("SWIPED", "onInterceptTouchEvent : " + event.getAction());
return false;
}
}
Main.XML:
<com.example.MyViewGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen" android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:id="@+id/tv1" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="TEXT ONE"
android:padding="20dip" android:background="@android:color/background_dark" />
<TextView android:padding="20dip" android:background="@android:color/background_light"
android:id="@+id/tv2" android:layout_height="wrap_content"
android:text="TEXT TWO" android:layout_width="fill_parent" />
</com.example.MyViewGroup>
MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

worked
- 5,762
- 5
- 54
- 79
-
-
6I do not think this answer can give any help to anyone else. Since the it extends the `LinearLayout`, and all those jobs should be overridden is thrown to `LinearLayout`. It make no senses. – hguser May 06 '13 at 00:30
-
1The idea is to show what a ViewGroup is, via placeholder code. Nothing more, nothing less. – worked Jan 11 '14 at 01:18
-