我的项目包含一些库(ViewPagerIndicator,ActionbarSherlock,SlidingMenu ......).使用proguard后,我的应用程序每次启动时都会崩溃.以下是错误日志
java.lang.NoClassDefFoundError:android.support.v4.appp.FragmentActivity$2 at android.support.v4.app.FragmentActivity.<init> (Unknown Source)....
Run Code Online (Sandbox Code Playgroud)
这是我的proguard脚本:
-injars bin/classes
-injars libs
-outjars bin/classes-processed.jar
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-verbose
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.support.v4.app.FragmentActivity
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, …Run Code Online (Sandbox Code Playgroud) 我正在使用ViewPagerIndicator ,我想更改选项卡样式,以便我可以获得文本上方的图标,而不是默认设置,将图标放在左侧,标题放在右侧.
如何增加/减少指标元素之间的空间ViewPagerIndicator?
我采取tabhost使用FragmentActivity,第一个选项卡下,我加载一个包含一个值得欢迎的片段Viewpager和CirclePageIndIcator,我需要加载在侧4次是WelcomeFragment
这是我的WelcomeFragment
public class WelcomeFragment extends Fragment
{
PageAdapter mAdapter;
ViewPager mPager;
CirclePageIndicator mIndicator;
List<Fragment> fragments;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_welcome_layout,null);
mPager=(ViewPager)view.findViewById(R.id.myViewPager);
mIndicator=(CirclePageIndicator)view.findViewById(R.id.circlePageIndicator1);
fragments=new ArrayList<Fragment>();
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Fragment fragment;
for(int i=0;i<4;i++)
{
fragment= Fragment.instantiate(getActivity(), TipsFragment.class.getName());
fragments.add(fragment);
}
mAdapter = new PageAdapter(getFragmentManager(),fragments);
mPager.setAdapter(mAdapter);
mIndicator.setViewPager(mPager);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的页面适配器
public class PageAdapter extends FragmentPagerAdapter implements Serializable{
List<Fragment> fragments;
public PageAdapter(FragmentManager …Run Code Online (Sandbox Code Playgroud) android android-tabhost android-fragments android-viewpager viewpagerindicator
我正在尝试实现自定义的IconPageIndicator - viewpager.我想自定义com.viewpagerindicator.IconPageIndicator中显示的图标的边距和填充.所以我编写了自定义的IconPageIndicator和CustomLinearLayout.我更改了CustomLinearLayout中的dividerPadding变量.这是代码.但这似乎不起作用.边距和填充仍然相同.有帮助吗?
class CustomLinearLayout extends LinearLayout {
private static final int[] LL = new int[] {
/* 0 */ android.R.attr.divider,
/* 1 */ android.R.attr.showDividers,
/* 2 */ android.R.attr.dividerPadding,
};
private static final int LL_DIVIDER = 10;
private static final int LL_SHOW_DIVIDER = 2;
private static final int LL_DIVIDER_PADDING = 10;
private Drawable mDivider;
private int mDividerWidth;
private int mDividerHeight;
private int mShowDividers;
private int mDividerPadding;
public CustomLinearLayout(Context context, int themeAttr) {
super(context);
TypedArray a = context.obtainStyledAttributes(null, LL, themeAttr, 0); …Run Code Online (Sandbox Code Playgroud) 我有一个ViewPager的Android应用程序实现如下:
http://www.youtube.com/watch?v=C6_1KznO95A
我不知道如何在ViewPager下面实现AdView.我试图以编程方式和在xml中将AdView放在ViewPager下面.没有错误,但广告没有显示.
我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_alignParentBottom="top"
android:layout_height="0dp"
android:layout_weight="1"/>
<com.google.ads.AdView
android:id="@+id/ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_below="@+id/pager"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_publisher_id"
ads:loadAdOnCreate="true" >
</com.google.ads.AdView>
Run Code Online (Sandbox Code Playgroud)
android admob android-viewpager actionbarsherlock viewpagerindicator
我正在使用ActionBarSherlock和ViewPagerIndicator将片段显示为选项卡.其中一个片段将项添加到ActionBar:
private String[] mapNames;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
// init an String array `mapNames` which is used when populating submenu
// ...
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.fragment_maps, menu);
SubMenu mapNamesMenu = menu.findItem(R.id.map_names).getSubMenu();
mapNamesMenu.clear();
for (int i=0; i<mapNames.length; i++) {
mapNamesMenu.add(1, i, Menu.NONE, mapNames[i]);
}
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
在res/menu/fragment_maps.xml我有
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/map_names"
android:title="Maps"
android:icon="@drawable/maps_32"
android:showAsAction="always|withText">
<menu>
<item android:id="@+id/placeholder_maps" />
</menu>
</item>
</menu> …Run Code Online (Sandbox Code Playgroud) android android-layout android-fragments actionbarsherlock viewpagerindicator
我有一个ViewPager我正在使用getPageTitle方法来获取当前页面的标题.
这是适配器代码:
@Override
public Fragment getItem(int i) {
details = productData.get(i);
Fragment fragment = new ProductViewFragment();
Bundle args = new Bundle();
args.putInt(ProductViewFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return productData.size();
}
public CharSequence getPageTitle(int position)
{
return (position+1)+" of "+myData.size();
}
Run Code Online (Sandbox Code Playgroud)
现在我想更新上一个和下一个片段的页面标题.我想将它们命名为"previous"和"next".它也应该在后续页面上动态更新.
我能够获得当前页面标题编号.例如,当我查看第5个片段时,当前片段将正确显示标题.在ViewPager的两个角上,它显示左侧的上一页标题编号和右侧的下一页标题编号.现在,我希望页面标题在左侧为"上一个",在右侧为"下一个",类似于Gmail应用程序以及它如何显示ViewPager中的邮件计数.
我想知道的主要内容是如何从Gmail应用程序中访问/修改当前片段中下一个/上一个片段的页面标题数据?
android android-fragments android-viewpager viewpagerindicator
我使用IconPageIndicator的viewPagerIndicator库.当在指示器中单击一个图标时,我需要将视图寻呼机移动到该页面.如果单击该图标,我可以点击该事件吗?如何知道点击了哪个图标IconPageIndicator?
想要将点指示器作为附加图像.我希望如果项目超过5,那么应该出现小点,并且在滑动期间,它会调整大小.检查Instagram的实时视图(查找已上传超过5张图片的任何帖子)
我尝试只使用点的大小,并invalidate()在每次页面更改时重绘(by ),但是我无法在中间保持点.玩左右点不会造成任何大问题.但是当活动点位于中间时,会发生滚动效果.我怎样才能做到这一点?
我正在按住一个点列表并在页面更改时使用点大小和位置进行播放,而不是根据列表中的点属性使无效和绘制圆圈.然而,无法找到关于如何保持中间点的任何想法,所以我可以做出滚动效果.任何其他想法表示赞赏
点指示器