I have a ViewGroup class which adds a custom View and draws a pie chart on a canvas. In the center of the circle i have a TextView. But whatever i do, i cannot get the text in the TextView centered vertically.
The Root view in this case is a LinearLayout.
Snippet:
public class PieChart extends ViewGroup {
    public PieChart(Context context) {
        super(context);
        mPieView = new PieView(getContext());
        addView(mPieView);
    }
    ...
    private class PieView extends View {
        public PieView(Context context) {
            super(context);
            text = new TextView(getContext());
            text.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));
            text.setHeight(400);
            text.setText(getCenterTextValue());
            text.setTextColor(Color.BLACK);
            text.setGravity(Gravity.CENTER);
            text.setBackgroundColor(Color.GRAY);
            addView(text);   
        }
        @Override
        protected void onSizeChanged(int w, int h, int oldw, int oldh) {
            text.layout((int)mBoundsInner.left, (int)mBoundsInner.top, (int)mBoundsInner.right, (int)mBoundsInner.bottom);
        }
    }
    ...
}
This is how it looks like in the emulator. I have set a grey background for demonstration purposes so that you can see the bounds of the TextView Picture of how it looks like in android emulator
Here is the activity.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ls="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:gravity="center"
    android:orientation="vertical" >
    <com.lifescraper.view.PieChart
        android:id="@+id/Pie"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:width="0dip">
    </com.lifescraper.view.PieChart>
</LinearLayout>
