如何设置 HorizontalScrollView 以从右到左的方式运行?默认行为是显示的第一个选项卡(默认选项卡)位于左侧。我希望选项卡反向排序,以便第一个“默认”选项卡位于屏幕的右侧。
我怎么做?我使用了layout_gravity,但它不起作用..
这是我的布局代码,包含 tabhost 和 HorizontalScrollView:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</HorizontalScrollView>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud) 我有一个工具栏选项卡的 ViewPager。
我必须知道用户点击标签的次数以及用户滑动和选择页面的次数。
为此,我正在使用 ViewPager.OnPageChangeListener()。
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override public void onPageSelected(int position) {
// Here i am sending the GA event
}
@Override public void onPageScrollStateChanged(int state) {
}
});
Run Code Online (Sandbox Code Playgroud)
OnPageSelected 被调用用于单击和滑动页面。我将如何区分所选页面是从选项卡的点击还是从 Viewpager 的滑动?
我在操作栏中有标签.在大屏幕上,标签嵌入到操作栏中,但在小屏幕上则没有.我想控制选项卡手册,以便我可以将选项卡与操作栏分开.我试图设置abs__action_bar_embed_tabs,但这不起作用
<resources>
<bool name="abs__action_bar_embed_tabs">false</bool>
</resources>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用多个Tabs创建一个应用程序.对于每个标签,我使用不同的片段.当我浏览标签时,其中的信息正在发生变化.
如何在滑动时保存每个标签的状态?
代码例如:
MainActivity.java:
package com.tabs.example;
import java.util.Locale;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
public class MainActivity extends FragmentActivity {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_tab_strip);
pagerTabStrip.setBackgroundColor(Color.BLACK);
pagerTabStrip.setTabIndicatorColor(Color.CYAN);
pagerTabStrip.setTextColor(Color.WHITE);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我使用支持库中的TabLayout和视图pager.我有3个片段.假设我在fragA中有一个按钮,点击后将我带到fragB.I成功地去了fragB但是唯一的问题是制表符仍然在fragA.
码
private void setupTablayout() {
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setupWithViewPager(viewPager);
viewPager.setCurrentItem(1, true);
tabLayout.getTabAt(0).setIcon(R.drawable.archive).setText("");
tabLayout.getTabAt(1).setIcon(R.drawable.status_1).setText("");
tabLayout.getTabAt(2).setIcon(R.drawable.settings).setText("");
tvHeader.setText("STATUS");
tabLayout.setOnTabSelectedListener(this);
//tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
switch (tab.getPosition()) {
case 0:
tab.setIcon(R.drawable.archive_1).setText("");
tvHeader.setText("ARCHIVES");
tvDate.setVisibility(View.GONE);
ivRefresh.setVisibility(View.VISIBLE);
break;
case 1:
tab.setIcon(R.drawable.status_1).setText("");
tvHeader.setText("STATUS");
tvDate.setVisibility(View.VISIBLE);
ivRefresh.setVisibility(View.VISIBLE);
break;
case 2:
tab.setIcon(R.drawable.settings_1).setText("");
tvHeader.setText("SETTINGS");
tvDate.setVisibility(View.GONE);
ivRefresh.setVisibility(View.GONE);
break;
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
switch (tab.getPosition()) {
case 0:
tab.setIcon(R.drawable.archive).setText("");
break;
case 1:
tab.setIcon(R.drawable.status).setText("");
break;
case 2:
tab.setIcon(R.drawable.settings).setText("");
break;
}
}
@Override …Run Code Online (Sandbox Code Playgroud) 我是新手,CoordinatorLayout我想coordinatorLayout在我的应用程序中使用,但它在显示CollapsingToolbarLayout视图中导致一些问题.
我想设计视图例如WhatsApp屏幕Tabs中Coordinatorlayout
我的XML代码
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/detail_backdrop_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fitsSystemWindows="false"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="32dp"
app:expandedTitleMarginStart="24dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
</LinearLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tabanim_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/tabanim_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
// child view
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>`
Run Code Online (Sandbox Code Playgroud) android android-tabs android-coordinatorlayout android-collapsingtoolbarlayout
为了在Android中实现滑动标签,我遵循以下指南:使用TabLayout的Google Play样式标签
在实现FragmentPageAdapter时,我遇到了一个问题,即"getItem()"方法,该方法用于返回具有相关位置的片段,在本例中为"PageFragment.newinstance(position + 1)".PageFragment是一个通用的片段.问题本身是:
"com.myProject.SampleFragmentPagerAdapter"中的"getItem(int)"与"android.support.v4.app.FragmentPagerAdapter"中的"getItem(int)"冲突; 尝试使用不兼容的返回类型
有人可以找出问题所在吗?
我已附加指南的SampleFragmentPagerAdapter以加快检查速度:
public class SampleFragmentPagerAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 3;
private String tabTitles[] = new String[] { "Tab1", "Tab2", "Tab3" };
private Context context;
public SampleFragmentPagerAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
return PageFragment.newInstance(position + 1);
}
@Override
public CharSequence getPageTitle(int position) {
// Generate title based on item position …Run Code Online (Sandbox Code Playgroud) 我正在使用服务库中的TabLayout.我在长按一个选项卡时尝试添加OnLongClickListener.对我来说这是不可能的.我甚至试图通过使用childViews来"破解"它:
View tabLayoutChild = tabLayout.getChildAt(0);
ViewGroup group = (ViewGroup) tabLayoutChild;
group.getChildAt(0).setOnLongClickListener(this);
Run Code Online (Sandbox Code Playgroud)
不起作用,看起来不漂亮.除了我想实现的longClick之外,它都非常方便.
我的一小段代码
pagerAdapter = new CustomFragmentPagerAdapter(getSupportFragmentManager());
pagerView.setAdapter(pagerAdapter);
tabLayout.setupWithViewPager(pagerView);
Run Code Online (Sandbox Code Playgroud)
tablayout有一个方法,setOnLongClickListener()但我可以告诉它,它什么都不做.
如何为tablayout中的选项卡实现LongClickListener?
android ×10
android-tabs ×10
android-collapsingtoolbarlayout ×1
android-menu ×1
java ×1
swipe ×1