I am trying to creating a bottom toolbar widget that dynamically adds 
buttons. Right now the buttons are simple TextViews. My problem lies when I 
add the button, it fails to fill the parent in width and height of the 
toolbar. Instead it simply wraps the TextView content. I don't want that. I 
want it to fill the toolbar and leave no empty space.
*
Custom widget class:*
public class Toolbar extends LinearLayout
   //implements View.OnClickListener
{
   private LinearLayout     toolbar_layout;
   private LayoutInflater   layout_inflater;


   public Toolbar(Context context, AttributeSet attrs)
   {
      super(context, attrs);

      // Get the layout inflater from the specified context
      layout_inflater = (LayoutInflater) context.getSystemService(
         Context.LAYOUT_INFLATER_SERVICE);

      View view = layout_inflater.inflate(R.layout.toolbar, null);
      addView(view);
      toolbar_layout = (LinearLayout) view.findViewById(R.id.toolbar);
   }

   public void addItem(String title)
   {
      final int index = toolbar_layout.getChildCount();

      addItem(title, index);
   }

   public void addItem(String title, int index)
   {
      toolbar_layout.addView(inflateItem(title), index);
   }

   public void removeAllItems()
   {
      toolbar_layout.removeAllViews();
   }

   public void removeItemAt(int index)
   {
      toolbar_layout.removeViewAt(index);
   }

   public int getItemCount()
   {
      return toolbar_layout.getChildCount();
   }

   private View inflateItem(String title)
   {
      View       view;
      TextView   titleView;

      view = layout_inflater.inflate(R.layout.toolbar_item, toolbar_layout, 
false);   

      titleView = (TextView) view.findViewById(R.id.item_title);
      titleView.setText(title);

      view.setTag(title);
      //view.setOnClickListener(this);

      return view;
   }
}


*toolbar.xml:*
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
   android:id="@+id/toolbar"
   android:layout_width="match_parent"
   android:layout_height="@dimen/toolbar_height"
   android:layout_centerVertical="true"
   android:padding="0dp"
   android:orientation="horizontal"
   android:background="@color/separator" >

</LinearLayout>


*toolbar_item.xml*
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
      android:layout_width="match_parent"
      android:layout_height="@dimen/toolbar_height"
      android:layout_weight="1"
      android:background="@drawable/action_bar_button"
      android:clickable="true" >

<TextView
   android:id="@+id/item_title"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:textAppearance="?android:attr/textAppearanceLarge"
   android:layout_gravity="center_horizontal|center_vertical"
   android:singleLine="true" />

</LinearLayout>


Inside main.xml:
   <com.android.example.Toolbar
      android:id="@+id/toolbar"
      android:layout_width="match_parent"
      android:layout_height="@dimen/toolbar_height"
      android:orientation="horizontal"
      android:padding="2dp"
      android:background="@color/separator" />


This is code is roughly based on how to create a custom ActionBar from: 
https://github.com/johannilsson/android-actionbar.

The toolbar item will adjust its size appropriately if I specify its size, 
but fails to do so if I write "match_parent". I can't seen to figure out why 
this is. Any suggestions?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to