Как я могу сделать свои вкладки меньше? - PullRequest
1 голос
/ 31 августа 2011

Я использую виджет вкладок для имитации меню в iphone.Вот изображение моего экрана enter image description here

Как видите, слова не вписываются в отдельные поля.Как я могу сделать размер текста меньше для каждого виджета?Также есть ли способ уменьшить изображения внутри вкладок, чтобы они не выглядели такими переполненными?Пока что все значки «соответствуют размеру», поэтому он пытается занять как можно больше места.

Спасибо за помощь, см. Ниже мой код на вкладках

@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);

ПРАВКАвот это 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>

1 Ответ

3 голосов
/ 31 августа 2011

Вы можете использовать эту реализацию TabWidget, его пользовательских вкладок!Вы можете легко редактировать макет и представления, связанные с этими пользовательскими вкладками.

Имейте в виду, что эти вкладки не используют системный фон для цвета вкладки, когда выбран / не выбран, и используют серый цвет, который вы видите наизображение ниже.

http://code.google.com/p/android-custom-tabs/

Android custom tabs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...