] 1] 1 i android Design-Unterstützung tablayout verwendet und ich habe sowohl Symbol und Text auf der Registerkarte .. i ein customtabview verwendet, um Symbol und Text vertically..And i ausrichten möchte die Farbe des Symbols und des Textes ändern, wenn ausgewählt/nicht ausgewählt ist.Tab Symbol und Text sowohl mit Android-Design Support-Bibliothek
Ich habe Selektor-Datei für verschiedene Tab-Symbol..aber die Sache ist, wenn ich das Projekt ausführen die erste Standard-Registerkarte ist nicht ausgewählt, ich möchte sie standardmäßig ausgewählt .. und wenn ich auf andere Registerkarte gehen und dann wischen zurück auf der ersten Registerkarte funktioniert es perfekt in Ordnung .. das Hauptproblem ist, kann ich nicht die erste Registerkarte Fragment ausgewählt..bitte helfen Sie mir, wie ich fest für die letzten 2 Tage..und ich möchte keine Bibliothek von Github
verwenden MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
private int[] tabIcons = {
R.drawable.image1,
R.drawable.image2,
R.drawable.image3
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
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("ONE");
tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.image1, 0, 0);
tabLayout.getTabAt(0).setCustomView(tabOne);
TextView tabTwo = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabTwo.setText("TWO");
tabTwo.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.image2, 0, 0);
tabLayout.getTabAt(1).setCustomView(tabTwo);
TextView tabThree = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabThree.setText("THREE");
tabThree.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.image3, 0, 0);
tabLayout.getTabAt(2).setCustomView(tabThree);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new OneFragment(), "ONE");
adapter.addFrag(new TwoFragment(), "TWO");
adapter.addFrag(new ThreeFragment(), "THREE");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@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);
}
}
}
image1.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/x1" android:state_selected="true" />
<item android:drawable="@drawable/x2" />
</selector>
crested drei Datei wie oben für drei verschiedene Bild.
custom_tab.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tab"
android:textColor="@color/selector"
android:textSize="@dimen/tab_label"
android:fontFamily="@string/font_fontFamily_medium"/>
selector.xml für Text
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="#fe5d55" /> <!-- pressed -->
<item android:state_pressed="true"
android:color="#fe5d55" /> <!-- focused -->
<item android:color="#000000" /> <!-- default -->
</selector>
jemand helfen?
Haben Sie versuchte 'addTab (Registerkarte TabLayout.Tab, boolean setSelected)'? – hoomi
tatsächlich verwende ich die benutzerdefinierte Ansicht für das tablayout .... ich weiß nicht, wie man das oben genannte benutzt oder wie man Änderungen vornimmt ... bitte sagen Sie mir, beziehen sich auf den obigen Code –
Addieren Sie Ihren Selektor und kundenspezifischen Ansichtcode außerdem. – hoomi