2009-09-02 6 views
41

Comment utiliser viewGroup dans AndroidComment utiliser viewGroup dans Android

+2

Comment voulez-vous l'utiliser? –

+0

[ici] (http://developer.android.com/reference/android/view/ViewGroup.html) est une documentation de Google – Vinay

+0

http://about-android.blogspot.com/2010/05/create-dynamic -view-group.html Cet exemple est OK. Assurez-vous de définir des id-s uniques pour ces vues lors de leur utilisation dans ListView, ou vous pouvez les redessiner en les faisant défiler –

Répondre

31

Comme mentionné précédemment, ViewGroup est une classe abstraite que tous ViewGroups étendent, LinearLayout par exemple est un 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); 
    } 
} 
+0

La classe MyViewGroup ici ne fait rien, n'imprime rien. – user606669

+3

Je ne pense pas que cette réponse peut aider quelqu'un d'autre. Comme il étend le 'LinearLayout', et que tous ces jobs doivent être surchargés, ils sont lancés dans' LinearLayout'. Ça ne fait aucun sens. – hguser

+0

L'idée est de montrer ce qu'est un ViewGroup, via un code d'espace réservé. Ni plus ni moins. – worked

Questions connexes