2009-09-02 8 views
41

verwenden Wie in androidWie in Viewgroup android

+2

Wie möchten Sie es verwenden? –

+0

[Hier] (http://developer.android.com/reference/android/view/ViewGroup.html) ist eine Dokumentation von Google – Vinay

+0

http://about-android.blogspot.com/2010/05/create-dynamic -view-group.html Dieses Beispiel ist OK. Stellen Sie sicher, dass Sie eindeutige IDs für solche Ansichten festlegen, wenn Sie sie in 'ListView' verwenden, oder dass sie beim Scrollen neu gezeichnet werden. –

Antwort

31

verwenden Viewgroup Wie bereits erwähnt, ist Viewgroup eine abstrakte Klasse, die alle ViewGroups erweitern, Linearlayout zum Beispiel ein Viewgroup ist.

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

Die MyViewGroup-Klasse führt hier nichts aus, druckt nichts. – user606669

+3

Ich glaube nicht, dass diese Antwort irgendjemandem helfen kann. Da es das 'LinearLayout' erweitert und alle diese Jobs überschrieben werden sollen, wird es an' LinearLayout' geworfen. Es macht keine Sinne. – hguser

+0

Die Idee ist, über einen Platzhaltercode zu zeigen, was eine ViewGroup ist. Nicht mehr, nicht weniger. – worked

Verwandte Themen