0
タブの色を変更するには、matrialデザインチュートリアルを選択してください。tabSelectedTextColor
で設定できます。しかし、それは私のために動作しませんでした.AND私はコードの下のようなonTabSelected
のものに強制する:これはうまくいかなかった理由を設定タブ選択されたテキストカラーが機能しない
public void onTabSelected(TabLayout.Tab tab) {
TextView v = (TextView) tab.getCustomView().findViewById(R.id.text_tab_counter);
v.setVisibility(View.INVISIBLE);
TextView vv=(TextView) tab.getCustomView().findViewById(R.id.text_tab);
vv.setTextColor(getResources().getColor(R.color.Notify));
v.setText("");
tab.getCustomView().invalidate();
viewPager.setCurrentItem(tab.getPosition());
}
?
EDIT 私はカスタムタブレイアウトを持っていますか?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
>
<TextView
android:textColor="@color/textColorPrimary"
android:layout_marginRight="2dp"
android:id="@+id/text_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:text="•"
android:textColor="@color/Notify"
android:textSize="@dimen/badget_size"
android:id="@+id/text_tab_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
編集:
ViewPageAdapter
コード:
package ir.whc.news.adapter;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import ir.whc.news.R;
/**
* Created by marzieh on 3/31/2016.
*/
public class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
private Context context;
public ViewPagerAdapter(FragmentManager manager, Context context) {
super(manager);
this.context = context;
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
public View getTabView(int position,boolean havenew) {
View v = LayoutInflater.from(context).inflate(R.layout.custom_tab, null);
TextView tv = (TextView) v.findViewById(R.id.text_tab);
TextView tv2= (TextView) v.findViewById(R.id.text_tab_counter);
tv.setText(getPageTitle(position));
tv.setTextColor(context.getResources().getColor(R.color.textColorPrimary));
//tv2.setText(String.valueOf(count));
//tv2.setVisibility(havenew ? View.VISIBLE : View.INVISIBLE);
tv2.setText(havenew?context.getString(R.string.newBadgerSign):"");
tv2.setTextColor(context.getResources().getColor(R.color.Notify));
return v;
}
}
? – serenei
材料設計で提供されているTabLayout用 –
私はカスタムタブレイアウトを使用していますが、これはうまくいきません – serenei