title: Most efficient way to implement Dashboard UI pattern?
body: <p>I want to do the <a href="http://www.androiduipatterns.com/2011/01/implementing-dashboard-and-action-bar.html" rel="nofollow">Dashboard pattern</a>. I currently do this for each home button:</p>
  
  <pre><code>&lt;FrameLayout
      android:layout_weight="1"
      android:focusable="true"
      android:onClick="onHomeButtonClicked"
      android:background="@drawable/button_background"&gt;
      &lt;TextView
          android:text="@string/button_text"
          android:drawableTop="@drawable/button_icon"
          android:layout_gravity="center"
          android:gravity="center"
          android:background="@android:color/transparent" /&gt;
  &lt;/FrameLayout&gt;
  </code></pre>
  
  <p>The reason I wrap my button inside a FrameLayout is I want to:</p>
  
  <ul>
  <li>Maximize the clickable area</li>
  <li>Make the icon and text properly
  centered.</li>
  </ul>
  
  <p>I tried doing this in the past but gave up because I couldn't figure out a screensize-independent way of centering the text and icon:</p>
  
  <pre><code>&lt;Button
      android:layout_weight="1"
      android:background="@drawable/button_background"
      android:text="@string/button_text"
      android:onClick="onHomeButtonClicked"
      android:drawableTop="@drawable/button_icon"
      android:drawablePadding="DONT_KNOW_WHAT_TO_PUT_IN_HERE" /&gt;
  </code></pre>
  
  <p>My question: Is it possible to do all these:</p>
  
  <ol>
  <li>Not wrap the Button inside other
  layout (using only 1 view per
  button)</li>
  <li>Maximize the clickable area</li>
  <li>Properly center the icon and text in
  a screensize-independent way</li>
  </ol>
  
  <p>Many thanks.</p>