gpt4 book ai didi

android - 自定义操作栏 tabview

转载 作者:搜寻专家 更新时间:2023-11-01 08:08:40 26 4
gpt4 key购买 nike

我正在尝试在操作栏中创建一个自定义选项卡 View ,如下所示: enter image description here

我得到了这个观点:

enter image description here

我想改变 tabviews 指示器的背景,这样背景颜色就变得不可见,我们在选定的 tabview 指示器下有一条绿线。

这是我的代码(我使用默认的 tabview):

public class BaseActivity extends Activity{

ActionBar bar;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); setContentView(R.layout.base_activity);

bar = getActionBar();

// Change action bar background

BitmapDrawable background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.background_actionbar)); background.setTileModeX(android.graphics.Shader.TileMode.REPEAT);

bar.setBackgroundDrawable(background);

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

ActionBar.Tab tabA = bar.newTab().setText(getResources().getString(R.string.documents));

ActionBar.Tab tabB = bar.newTab().setText(getResources().getString(R.string.videos));

ActionBar.Tab tabC = bar.newTab().setText(getResources().getString(R.string.menu_settings));

Fragment fragmentA = new DocumentsListFragment();

Fragment fragmentB = new VideosListFragment();

Fragment fragmentC = new UserAccountFragment();

tabA.setTabListener(new MyTabsListener(fragmentA));

tabB.setTabListener(new MyTabsListener(fragmentB));

tabC.setTabListener(new MyTabsListener(fragmentC));

bar.addTab(tabA);

bar.addTab(tabB);

bar.addTab(tabC);
}


protected class MyTabsListener implements ActionBar.TabListener
{
private Fragment fragment;

public MyTabsListener(Fragment fragment) {
this.fragment = fragment; }

@Override

public void onTabSelected(Tab tab, FragmentTransaction ft)
{
ft.replace(R.id.fragment_place, fragment, null); }

@Override

public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}

@Override

public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}
}

}

请问,我怎样才能使那些 tabview 指示器膨胀。

最佳答案

在 styles.xml 的 values 下添加这些

 <style name="Theme.AndroidDevelopers" parent="Theme.Sherlock.Light.ForceOverflow"> 
<item name=" android:actionBarItemBackground">@drawable/ad_selectable_background
</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="actionBarTabStyle">@style/MyActionBarTabStyle</item>
</style>




<style name="MyActionBarTabStyle" parent="Widget.Sherlock.Light.ActionBar.TabBar">
<item name="android:background">@drawable/actionbar_tab_bg</item>
<item name="android:gravity">center</item>
<item name="android:layout_gravity">center</item>
<item name="android:paddingLeft">10dp</item>
<item name="android:paddingRight">10dp</item>
</style>

这类似于您的选项卡选择器:

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ad_tab_selected_pressed_holo" android:state_selected="true"/>
<item android:drawable="@android:color/transparent"/>

关于android - 自定义操作栏 tabview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com