如何更改不同屏幕尺寸的滑动标签文字大小?我正在使用片段和查看寻呼机来创建滑动选项卡

时间:2014-07-18 10:11:01

标签: android android-fragments tabs

这是我的java代码,我在其中设置标签及其文本

 ublic class MainActivity extends ActionBarActivity implements TabListener {

private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
//Tab Tiles
private String [] tabs;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    //initilization 
    viewPager =(ViewPager)findViewById(R.id.pager);
    actionBar = getSupportActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
    viewPager.setAdapter(mAdapter);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
     tabs = getResources().getStringArray(R.array.tabs);
    //Hiding Title bar
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);

    //Adding tabs 

    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
    }//for each

我的清单文件是

       <activity
        android:name="com.galleryview.MainActivity"
        android:label="@string/app_name" 
        android:theme="@style/Theme.AppCompat.Light">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

标签的文字大小适用于普通手机,但在平板电脑上它看起来太小了。不知道如何以简单的方式做到这一点?提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用setCustomView方法,使用configuration qualifiers

从dimens.xml文件创建不同文本大小的自定义布局

<强> MainActivity.java

LayoutInflater inflater = (LayoutInflater) this.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
TextView tv = (TextView) inflater.inflate(R.layout.customTextView, null);
tv.setText(tab_name);
actionBar.addTab(actionBar.newTab().setCustomView(tv).setTabListener(this));
布局文件夹

上的

customTextView.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/actionbar_tab_text_size" />
文件夹

上的

dimens.xml

<resources>
    <dimen name="actionbar_tab_text_size">16sp</dimen>
</resources>
values-large 文件夹

上的

dimens.xml

<resources>
    <dimen name="actionbar_tab_text_size">20sp</dimen>
</resources>