我需要创建四个不同的布局,每个布局都是一个ViewPagerIndicator页面.我怎样才能做到这一点?ViewPagerIndicator已经在运行,但我正在使用来自http://viewpagerindicator.com的示例,并为所有页面创建了一个简单的TextView.
请参阅示例(TestFragment.java):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView text = new TextView(getActivity());
text.setGravity(Gravity.CENTER);
text.setText(mContent);
text.setTextSize(20 * getResources().getDisplayMetrics().density);
text.setPadding(20, 20, 20, 20);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(text);
return layout;
}
Run Code Online (Sandbox Code Playgroud)
我需要识别当前页面(位置)并参考相关的资源布局(XML).可能吗?
我还需要确保在创建活动时一次只加载所有页面的所有视图,以便稍后更新值.
我感谢任何帮助!! 谢谢
我的应用程序使用了Actionbarsherlock一个ViewpagerIndicator.每个页面使用1个片段.我希望每个页面都有不同的操作栏菜单,那么我该如何存档呢?
我已尝试使用onCreateOptionsMenu每个SherlockFragment但操作栏菜单未显示,我也尝试找到一些方法以编程方式添加菜单但没办法.
@Override
public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu, com.actionbarsherlock.view.MenuInflater inflater)
{
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
*编辑:添加更多细节*
如果我在Activity中使用onCreateOptionsMenu,则菜单(操作项)会正常显示.
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getSupportMenuInflater();
menuInflater.inflate(R.menu.main, menu);
Run Code Online (Sandbox Code Playgroud)
这就是我在ViewPager中设置ActionBar的方法
final ActionBar actionbar = getSupportActionBar();
actionbar .setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionbar .setDisplayHomeAsUpEnabled(true);
actionbar .setTitle("olala");
mFragmentAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mFragmentAdapter);
mIndicator.setViewPager(mPager);
mIndicator.setOnPageChangeListener(new MyPageChangeListener());
mPager.setCurrentItem(3);
Run Code Online (Sandbox Code Playgroud) 我正在使用伴奏者的寻呼指示器。它工作正常,但不可定制。我想设置屏幕上应显示的确切数量的点,并且这些点的大小应在卷轴上进行配置。还有另一个与此线程类似的问题,但所有者已经接受了 AndroidView 方法,我希望它是可组合的方式。
我正在使用ViewPagerIndicator http://viewpagerindicator.com/
主题指定正在使用的样式(我可以更改样式中的文本颜色并查看它是否影响选项卡文本)
<style name="TabText" parent="Widget.TabPageIndicator.Text">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">14sp</item>
<item name="android:ellipsize">end</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我想控制标签名称的处理时间.我想尝试使用wrap_content(即所以选项卡调整大小以包装文本宽度),我也想尝试使用椭圆化文本(即选项卡的宽度相同,但如果标题太长,则会进行椭圆化处理).

椭圆机适用于旧设备(例如Nexus One)

但在ICS上,椭圆化不起作用,标题只是截断
如何控制VPI中标签文本的宽度和椭圆化?
(在相关的说明中,我发现默认情况下长文本包含在VPI中,所以我用不间断空格搜索替换空格来停止,因为样式中的singleLine = true会导致VPI抛出强制转换异常)
我查看了示例,唯一的区别似乎是名称,但是当我将我的应用程序中的所有名称从TitlePageIndicator切换到TabPageIndicator时,选项卡处于混乱的对齐状态,页脚下划线消失了.
我错过了什么吗?我还需要做些什么吗?我有
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter( getSupportFragmentManager() );
ViewPager pager =
(ViewPager)findViewById( R.id.viewpager );
TabPageIndicator indicator =
(TabPageIndicator)findViewById( R.id.indicator );
pager.setAdapter( adapter );
indicator.setViewPager( pager );
Run Code Online (Sandbox Code Playgroud)
和
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp" >
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud) 所以我有一个带有3个actionbar.Tabs的应用程序,它可以在3个片段之间切换.在其中两个片段中,我需要一个ViewPager,它可以在大约6个ListView之间切换.问题是片段显示页面,我试图让它工作,只显示黑色...总是...我已经确认我可以显示其他东西(我试图让我的SherlockFragment成为SherlockListFragment,我可以显示数据).所以问题仅限于我的适配器和我的ViewPager,以及将它们放在适当位置的代码.哦,我还应该提一下,我正在使用ActionBarSherlock,并且(试图)使用ViewPagerIndicator.我已正确导入(最后).
所以这是我的片段的代码:
import vt.finder.schedule.Schedule;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.actionbarsherlock.app.SherlockFragment;
import com.viewpagerindicator.TitlePageIndicator;
public class FreeTimeFragment extends SherlockFragment {
//~Data Fields--------------------------------------------
/**
* Adapter used for swiping between days.
*/
private ViewPager dayPage;
/**
* The DayAdapter that is used to switch between course Lists for each day for the listView.
*/
private DayAdapter dayAdapt;
//~Constructors--------------------------------------------
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = onCreateView(getLayoutInflater(savedInstanceState), null, savedInstanceState);
LinearLayout layout = (LinearLayout) …Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager actionbarsherlock viewpagerindicator
我在我的项目中使用了库"ViewPagerIndicator".
我在xml中有ViewPager和ViewPagerIndicator,好吧.
我的问题是我无法编写正确的适配器.我已将它与Jake Warton在其示例中使用的适配器进行了比较,但无法使其正常工作ViewPager正常工作,在屏幕上看到的ViewPagerIndicator ......但不会移动.
如果脉冲,例如,在viewpagerindicator的第二项上移动viewpager ...但从不移动viewpagerindicator

这是主要的活动代码:
//...
pager = (ViewPager) findViewById(R.id.pager);
ViewPagerAdapter adapterViewPager = new ViewPagerAdapter(getSupportFragmentManager());
adapterViewPager.addFragment(new FRG_home());
adapterViewPager.addFragment(new Fragment_One());
adapterViewPager.addFragment(new Fragment_Two());
adapterViewPager.addFragment(new Fragment_Three());
pager.setOffscreenPageLimit(5);
pager.setAdapter(adapterViewPager);
PageIndicator mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
mIndicator.setViewPager(pager);
//...
Run Code Online (Sandbox Code Playgroud)
这是Jake Wharton示例中使用的适配器代码:
class TestFragmentAdapter extends FragmentPagerAdapter implements IconPagerAdapter {
protected static final String[] CONTENT = new String[] { "This", "Is", "A", "Test", };
protected static final int[] ICONS = new int[] {
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher
};
private int mCount = CONTENT.length;
public TestFragmentAdapter(FragmentManager fm) { …Run Code Online (Sandbox Code Playgroud) 我正在研究ViewPager项目,但我无法从Jake Wharton导入库:https://github.com/JakeWharton/Android-ViewPagerIndicator
我知道我需要将此代码添加到build.gradle:
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)
和
dependencies {
// ...
compile 'com.viewpagerindicator:library:2.4.1@aar'
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是当我构建gradle时出现错误:
Gradle 'ViewPager' project refresh failed: Artifact 'com.viewpagerindicator:library:2.4.1:library.aar' not found
Run Code Online (Sandbox Code Playgroud)
这是我的完整成绩:
apply plugin: 'android'
repositories {
mavenCentral()
maven { url 'http://dl.bintray.com/populov/maven' }
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile …Run Code Online (Sandbox Code Playgroud) android gradle android-viewpager viewpagerindicator android-gradle-plugin
两者都有很多来源和样本.我需要一个带点的寻呼机作为指示器,我在Android 5.0上使用新的Studio.
从第一眼看;
PagerSlidingTabStrip 看起来更新,我设法将其作为gradle项目和测试导入.
ViewPagerIndicatorappstore上的示例应用可能会被删除.
帖子中的所有链接似乎都被打破了.我也无法导入
Gradle项目.
我倾向于使用PagerSlidingTabStrip但我不确定是否可以使用'PagerSlidingTabStrip'轻松配置小点的分页,据我所知,它主要是为带标题的标签设计的.
android viewpagerindicator pagerslidingtabstrip android-5.0-lollipop
我正在使用react-native-community的ViewPager来向下滚动我的页面,但是在捕获用户所在的页面时遇到了麻烦,在API中有一个 showPageIndicator: boolean 但仅适用于IOS,我想我们可以通过这个 bool 捕获 IOS 中的号码,有某种方法可以捕获该号码。
https://github.com/react-native-community/react-native-viewpager
<ViewPager
initialPage={0}
orientation="horizontal"
scrollEnabled
onPageSelected={changePage}
>
Run Code Online (Sandbox Code Playgroud)