Android TabLayout不显示文本但仅显示图标

时间:2015-11-14 06:18:22

标签: android android-tablayout

我需要你的帮助。我按照此示例here

一切正常,但文字不仅仅显示图标。

这是我的代码:

MainActivity.class

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<FrameLayout
    android:id="@+id/flContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/tabs"
    android:layout_alignParentTop="true">


    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <View
        android:id="@+id/shadowView"
        android:layout_width="match_parent"
        android:layout_height="4dp"
        android:layout_gravity="bottom"
        android:background="@color/white"
        android:rotation="180" />

</FrameLayout>

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:background="@color/white"
    style="@style/MyCustomTabLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

XML:

public static CardFragment newInstance(int position) {
    CardFragment f = new CardFragment();
    Bundle b = new Bundle();
    b.putInt(ARG_POSITION, position);
    f.setArguments(b);
    return f;
}

public static CardFragment getInstance(String message) {
    CardFragment mainFragment = new CardFragment();
    Bundle bundle = new Bundle();
    bundle.putString("MSG", message);
    mainFragment.setArguments(bundle);
    return mainFragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    position = getArguments().getInt(ARG_POSITION);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_card,container,false);
    ViewCompat.setElevation(rootView, 50);
    return rootView;
}

CardFragment.class:

1.Focus
2.Take the value
3.Empty It
4.Put the value back 



        $("#catg_name").focus();
        var value = $("#catg_name").val();
        $("#catg_name").val('');
        $("#catg_name").val(value);

您认为我的代码中缺少什么?我被困住了,不知道如何解决这个问题。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

与提供代码链接一样,也调用setText方法设置当前片段的标题。

目前还通过调用getInstance的String版本获取Fragment实例,因此使用getString获取onCreateView中的标题:

...
ViewCompat.setElevation(rootView, 50);
TextView textTitle=(TextView)rootView.findViewById(R.id.<textview_id>);
textTitle.setText(""+ getArguments().getString("Bundle"));
return rootView;