我正在使用标签小部件来模拟iphone中的菜单。这是我的屏幕
的图片正如您所看到的那些单词不适合单个框。如何为每个小部件缩小文本大小?还有一种方法可以缩小标签内的图片,使它们看起来不那么紧凑吗?到目前为止,这些图标都“适合大小”,所以它试图占用尽可能多的空间。
感谢您的帮助,请参阅下面的标签上的代码
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_layout);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
intent = new Intent().setClass(this, ImTracking.class);
spec = tabHost
.newTabSpec("imtracking")
.setIndicator("I\'m Tracking",
res.getDrawable(R.drawable.mapbutton))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, TrackingMe.class);
spec = tabHost
.newTabSpec("trackingme")
.setIndicator("Tracking Me",
res.getDrawable(R.drawable.friends)).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Settings.class);
spec = tabHost
.newTabSpec("settings")
.setIndicator("Settings",
res.getDrawable(R.drawable.settingsicon))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Review.class);
spec = tabHost.newTabSpec("review")
.setIndicator("Review", res.getDrawable(R.drawable.like))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, help.class);
spec = tabHost.newTabSpec("help")
.setIndicator("Help", res.getDrawable(R.drawable.help))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
EDIT 这是xml tab_layout.xml
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dp">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="0dp"
android:layout_weight="1"/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"/>
</LinearLayout>
</TabHost>
tab.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center"
android:orientation="vertical" android:padding="0dp">
<ImageView android:id="@+id/tab_icon" android:layout_width="30dp"
android:layout_height="30dp" android:scaleType="fitCenter" />
<TextView android:id="@+id/tab_text" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:singleLine="true"
android:textStyle="bold" android:gravity="center_horizontal"
android:textSize="10sp" android:padding="3dip" android:ellipsize="marquee"
/>
</LinearLayout>
答案 0 :(得分:3)
你可以使用TabWidget的这个实现,它的自定义标签!您可以轻松编辑与这些自定义选项卡关联的布局和视图。
警告,选中/未选中时,这些标签不会使用系统背景作为标签颜色,并使用您在下图中看到的灰色外观。
http://code.google.com/p/android-custom-tabs/