我目前正在尝试新的Android支持设计库中的各种新组件.我NavigationView在my中实现了一个MainActivity.java,它使用FragmentManager在Navigation抽屉中的项目之间导航:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content, mTabLayoutFragment)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit();
Run Code Online (Sandbox Code Playgroud)
我TabLayout在其中一个片段中使用了一个.这是片段的布局:
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"/>
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)
它背后的Java代码:
import android.os.Bundle;
import android.support.design.widget.*;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class TabLayoutFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View inflatedView = inflater.inflate(R.layout.fragment_tablayout, container, false);
TabLayout tabLayout = (TabLayout) …Run Code Online (Sandbox Code Playgroud) android android-fragments android-support-design android-tablayout
我正在开发一个应用程序,我想在其中添加标签,以便可以使用PagerTabStrip和TabLayout使用ViewPager 添加标签.
它看起来和我没什么区别,但我猜它们之间有一些区别所以它们是两个类.那么它们之间的主要区别是什么?
我正在看手机上的推特应用程序.
你可以看到,当用户向上滚动时,tabLayout实际上只是很好地将自己固定在工具栏的底部而根本不移动.
我想也许他们通过将应用程序的所有顶部(配置文件图片,自行车的配置文件壁纸,草地,文本)放入CollapsingToolBarLayout和AppBarLayout,但实际上只有配置文件壁纸草地上的自行车是CollapsingToolBarLayout和AppBarLayout的一部分,因为这是实际崩溃的唯一部分.文本部分向上滚动,tabLayout只是固定在工具栏下方的顶部.
我在twitter应用程序上阅读了这些学分,看起来他们使用SlidingTabLayout来实现它们的效果.SlidingTabLayout类似于tabLayout,后者在支持库中受支持.
它看起来像现在主流应用程序使用的相当常见的模式 -
Google+应用在应用的个人资料视图中使用它:
Facebook Moments在他们的应用中使用它:
知道他们是怎么做的都设法做到了吗?
我正在寻找类似于所有这些应用程序的东西.
我的要求是:
我查看了SO上发布的另外两个问题:
TabLayout的标签选择指示器在滚动时是否可以固定在屏幕顶部?.这里的答案似乎是改变tabLayout的行为,但我怀疑改变行为实际上会生成twitter应用程序的功能.正如我所提到的,tabLayout似乎位于CollapsingToolBarLayout和AppBarLayout之外,只有当它位于CollapsingToolBarLayout和AppBarLayout中时,行为才有效.
如何在ScrollView顶部固定TabLaout?.这个问题提出的问题与我提出的问题类似,但没有给出足够的细节,也没有答案.
twitter android android-layout google-plus android-tablayout
我Navigation Drawer用来在片段之间导航,他们都使用MainActivity工具栏,但每个片段都有自己TabLayout的3个标签,在每个标签中,我RecyclerView用来显示不同的文本和图像.
我最后一次使用actvities而不是片段,但现在使用抽屉,它使用片段.
我已经到了标签可以工作的地步但是只要我放入ViewPager并将适配器连接到标签并且我从抽屉打开新片段我得到一个空指针这可能是什么问题?
MainActivity.java
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override …Run Code Online (Sandbox Code Playgroud) android android-fragments android-recyclerview android-tablayout
我想实现通知徽章android.support.design.widget.TabLayout.我已尽最大努力实现它但失败了.
非常感谢任何帮助.
android中的TabLayout类为您提供了一个TabItem,可以让您指定文本和图标.是否可以将自定义视图用作TabItem?
我的标签看起来像这样
正如你可以看到的除了图标和文字标签之外,我还有一个通知符号(黄色圆圈内的数字).我该如何制作这样的标签?
我想将com.google.android.material.tabs.TabLayout组件与Android的新ViewPager实现一起使用androidx.viewpager2.widget.ViewPager2。但是,setupWithViewPager(..)提供的方法TabLayout仅支持旧的ViewPager实现。有没有一种方法可以轻松地将a绑定TabLayout到ViewPager2组件?
我正在尝试创建一个tab layout有两个tabs.当我在小型移动设备上运行应用程序时tab layout看起来不错,但是当我在其上运行相同的应用程序时Tablet,显示如下.
我希望每个标签占据整个空间,两端都没有任何间隙.我这样创造了tab layout......
private void drawTabLayout() {
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.addTab(tabLayout.newTab().setText("Imprint") );
tabLayout.addTab(tabLayout.newTab().setText("Legal"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setTabMode(TabLayout.MODE_FIXED);
tabLayout.setSelectedTabIndicatorHeight(10);
tabLayout.setBackgroundColor(Color.WHITE);
}
Run Code Online (Sandbox Code Playgroud)
我搜索了很多网站但找不到合适的答案.提前致谢.
我正在使用导航抽屉和tablayout.我的标签中有一个视频,一开始看不到,但我能听到声音.一旦我设定
video_view.setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
我也可以看到视频,但这会导致导航抽屉出现问题.
当我滑动它时,视频不会像所有其他元素一样隐藏在导航抽屉后面.
如果我不使用
video_view.setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
然后我的抽屉工作正常.
main_activity.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Framelayout to display Fragments -->
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/menuwhite2"
android:id="@+id/custom_home"
android:gravity="center"
android:layout_gravity="right"
android:layout_marginRight="10dp"/>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"
/>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<!-- Listview to display slider menu -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:background="@color/list_background"/>
Run Code Online (Sandbox Code Playgroud)
tab_fragment.xml
<?xml …Run Code Online (Sandbox Code Playgroud) android navigation-drawer android-videoview android-tablayout
我有一个使用tablayout的自定义viewpager(由于原因而禁用了滑动).内容根据选择的选项卡而变化.我想使用浓缩咖啡进行测试:1)单击特定选项卡2)检查选项卡特定页面中的某些数据我该怎么做.我是意式浓缩咖啡的新手