java - 如何设置平板电脑的选项卡布局图标大小

标签 java android icons

如何设置平板电脑的选项卡图标大小我做了很多研究,尝试了很多方法,但无法使其适应我的布局。手机屏幕正常,但平板电脑屏幕上的“7”“10”图标尺寸仍然很小。

public class MainActivity extends AppCompatActivity  {

private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    setupTabIcons();

我以编程方式获取图标。

}

private void setupTabIcons() {

    TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
    tabOne.setText(R.string.Scanner);
    tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_image, 0, 0);
    tabLayout.getTabAt(0).setCustomView(tabOne);


    TextView tabTwo = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
    tabTwo.setText(R.string.Create);
    tabTwo.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.create, 0, 0);
    tabLayout.getTabAt(1).setCustomView(tabTwo);

    TextView tabThree = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
    tabThree.setText(R.string.History);
    tabThree.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_history, 0, 0);
    tabLayout.getTabAt(2).setCustomView(tabThree);

    TextView tabFour = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
    tabFour.setText(R.string.Settings);
    tabFour.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_settings, 0, 0);
    tabLayout.getTabAt(3).setCustomView(tabFour);

}

}

我的activity_main布局

 <com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">


    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_45sdp"
        app:tabGravity="fill"
        app:tabMode="fixed" />

</com.google.android.material.appbar.AppBarLayout>

自定义选项卡布局

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:gravity="center_horizontal"
android:textColor="@color/custom_tabtext1"
android:textSize="@dimen/_9ssp"
/>

最佳答案

我认为您可以使用 3 种方式支持平板电脑。

为平板电脑支持创建 3 个布局文件的第一种方法:-

res/layout/main_activity.xml           # For handsets (smaller than 600dp)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

为平板电脑创建 3 维文件的第二种方法支持:-

values/dimens.xml              # For handsets (smaller than 600dp)
values-sw600dp/dimens.xml      # For 7” tablets (600dp wide and bigger)
values-sw720dp/dimens.xml      # For 10” tablets (720dp wide and bigger)

使用“Sdp”库支持平板电脑的第三种方法:-

https://github.com/intuit/sdp

关于java - 如何设置平板电脑的选项卡布局图标大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534082/

相关文章:

java - Spring动态构造函数值

java - 告诉 Proguard 在方法上保留注解

java - 使用java(android)连接数据库的多个文件导致数据库损坏

android - 如何在 Android TV 中使用键盘让 GridView 滚动到顶部

android - 如何获得收藏之星

java - 实现可序列化接口(interface)的类对象上的 JVM 行为

android - 获取 MultiDex 错误,即使在设置 Min SDK 21 之后

css - 如何从PNG图像制作字体图标?

android屏幕标题栏的图标大小和删除应用程序的名称

java - Tez在Hadoop-2.5.2集群上崩溃