小编use*_*553的帖子

没有样式ViewPagerIndicator与SherlockActionBar结合使用

我正在尝试使用SherlockActionBar实现ViewPagerIndicator.它的工作原理:我可以滑动碎片,但风格不起作用!

它看起来像这样:

IMG

相关主题:https://github.com/JakeWharton/Android-ViewPagerIndicator/issues/66

我知道出了什么问题:在VPI的示例中,页面的样式在AndroidManifest.xml中设置(例如)

<activity
     android:name=".SampleTabsDefault"
     android:theme="@style/Theme.PageIndicatorDefaults"> 
</activity>
Run Code Online (Sandbox Code Playgroud)

但是当我将android:theme元素添加到我自己的Manifest.xml中时,我得到以下异常:

03-16 11:06:24.400: E/AndroidRuntime(483): Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
Run Code Online (Sandbox Code Playgroud)

我还尝试将所有样式信息复制到styles.xml,但这也不起作用.

你能告诉我如何设置VPI的风格吗?谢谢!

编辑:现在我已经添加了

<activity
         android:name=".SampleTabsDefault"
         android:theme="@style/StyledIndicators"> 
</activity>
Run Code Online (Sandbox Code Playgroud)

到我的Manifest.xml

以及styles.xml中的以下样式

<style name="Theme.BataApp" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    </style>   

    <style name="StyledIndicators" parent="Theme.BataApp">
        <item name="vpiTitlePageIndicatorStyle">@style/Widget.TitlePageIndicator</item>
        <item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
        <item name="vpiTabTextStyle">@style/Widget.TabPageIndicator.Text</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

结果:我没有得到任何异常,看到样式,但我现在看不到任何碎片:(

活动代码可以在这里找到:http://pastebin.com/hsNgxFDZ 当前页面的风格截图:

IMG

android android-theme android-viewpager actionbarsherlock

24
推荐指数
2
解决办法
2万
查看次数

调整可绘制图层列表中的位图大小

目前我正在开发一个Android应用程序.我想制作一个背景如下所示的文本(标题):

 _______
/______/
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>    
            <gradient
              android:startColor="@color/jaarkleur"
              android:centerColor="@color/jaarkleur"
              android:endColor="#E66C2C00"
              android:angle="0" />
            <stroke android:width="1dp"
            android:color="#ff000000"
            />       
        </shape>
    </item>
    <item>
        <bitmap android:src="@drawable/overlay_left" android:gravity="left"  />
    </item>
    <item>
        <bitmap android:src="@drawable/overlay_right" android:gravity="right"  />
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

所以我用图像做了一个透明的三角形放在两端.

这适用于只有一行的标题,但当标题占用两行时,它看起来像这样:

http://i.imgur.com/lDQGo.png

所以我的问题是:是否可以调整两个图像的大小,以便正确看起来?谢谢!

xml android styles bitmap

5
推荐指数
1
解决办法
1万
查看次数

在片段里面的Viewpageindicator

使用SherlockActionBar,我创建了一个很好的界面.在横向模式中,您会看到listfragment和"detailsfragment".

现在我想在详细信息框架中添加一个viewpageindicator(https://github.com/JakeWharton/Android-ViewPagerIndicator),所以我看起来像这样:

--------------------------|
|_1___|TAB1 | TAB2 | ETC  |
|_2___|-------------------|
|_3___|Example: content   |
|_4___| TAB1 of listitem 1| 
|_5___|___________________|
Run Code Online (Sandbox Code Playgroud)

我希望这很清楚.基本上我会在片段内部使用FragmentManager/TabPageIndicator.

我有可能吗?我想不出来.. :(

谢谢!

android fragment android-fragments actionbarsherlock

5
推荐指数
1
解决办法
3777
查看次数

在ASyncTask中设置op ViewPager

我试图在ASyncTask中获取一些数据,一旦完成将数据传递给viewpager中的任何片段.但我得到以下异常:

java.lang.IllegalStateException:尚未绑定ViewPager.

我必须遵循以下代码:

OnCreateView
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        setContentView(R.layout.simple_tabs);       
        team_id = this.getIntent().getIntExtra("index", 0) + 1;
        new getTeam().execute();
    }
Run Code Online (Sandbox Code Playgroud)

的AsyncTask:

    @Override
    protected Void doInBackground(Void... arg0) {
        team = api.getTeamByID(team_id);
        return null;       
    }

@Override  
        protected void onPostExecute(Void result) {
            mAdapter = new TeamFragmentAdapter(getSupportFragmentManager());

            mPager = (ViewPager)findViewById(R.id.pager);
            mPager.setAdapter(mAdapter);

            mIndicator = (TabPageIndicator)findViewById(R.id.indicator);
            mIndicator.setViewPager(mPager);

            progressDialog.dismiss();
        }
Run Code Online (Sandbox Code Playgroud)

TeamFragmentAdapter:

class TeamFragmentAdapter extends FragmentPagerAdapter implements TitleProvider {

        ArrayList<Fragment> fragments = new ArrayList<Fragment>();
        ArrayList<String> titels = new ArrayList<String>();

        public TeamFragmentAdapter(FragmentManager fm) {
            super(fm);
            fragments.add(new TeamInformatieFragment(team)); …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask android-viewpager

1
推荐指数
1
解决办法
3988
查看次数