小编TWL*_*TWL的帖子

Android:fitsSystemWindows和newline干扰bottomSheets

我发现,如果父布局包含android:fitsSystemWindows="true",当发生与视图相关的操作时,它将干扰我的BottomSheets定位.

特别是我遇到的那个:文本视图中的换行符将触发底部表格偏移系统/通知栏的高度.

newline + fitsSystemWindows =推倒我的底部表格

我删除了所有不相关的东西到按钮,textview和底部表格.

  • Button2:setText("1\n2")是魔术发生的地方

一旦我删除 android:fitsSystemWindows="true",它一切正常,没有更奇怪的行为,但我失去了systemSystemWindows颜色在系统/通知栏中的效果.

我也尝试给自己的bottomSheet布局android:fitsSystemWindows="false",但它没有任何效果.

如何在我的bottomSheets上没有这种奇怪的偏移行为的情况下如何实现fitsSystemWindows = true?

你自己看! 在此输入图像描述

public class Test extends AppCompatActivity {
    private BottomSheetBehavior bottomSheetBehavior;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act_test);

        LinearLayout bottomSheet = (LinearLayout) findViewById(R.id.root_btmsheet);
        bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
        bottomSheet.post(new Runnable() {
            @Override
            public void run() {
                bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
            }
        });

        ((Button) findViewById(R.id.btn1)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ((TextView) findViewById(R.id.info1)).setText("1");
            }
        });
        ((Button) findViewById(R.id.btn2)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-view android-statusbar

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

TabLayout在横向上没有显示gravity_fill和mode_fixed

我正在使用TabLayoutViewPager一起做一个标签式viewpager.

我有景观,其中一个怪异的行为TabLayout.GRAVITY_FILL,并TabLayout.MODE_FIXED似乎不工作,无论在Java或XML设定,(他们的肖像做就好了).

然而!当我做三个标签时,一切都很好!

问题在于两个标签 - 在横向上.

我的活动:

public class TabbedViewPager extends AppCompatActivity {
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabbed_viewpager);

        initTabLayout1();
    }

    public void initTabLayout1() {
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);

        TabLayout.Tab tab1 = tabLayout.newTab();
        tab1.setText("Tab 1");
        tabLayout.addTab(tab1);
        TabLayout.Tab tab2 = tabLayout.newTab();
        tab2.setText("Tab 2");
        tabLayout.addTab(tab2);
        //TabLayout.Tab tab3 = tabLayout.newTab();
        //tab3.setText("Tab 3");
        //tabLayout.addTab(tab3);
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
        tabLayout.setTabMode(TabLayout.MODE_FIXED);

        viewPager = (ViewPager) findViewById(R.id.view_pager);
        final TabbedPagerAdapter adapter = new TabbedPagerAdapter(getSupportFragmentManager(),
                tabLayout.getTabCount());
        viewPager.setAdapter(adapter);

        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-viewpager android-tablayout

5
推荐指数
2
解决办法
1713
查看次数

向材质文本字段添加芯片

假设我们创建了一个Chip 对象TextField如下所示的对象。你如何Chip在里面添加一个TextField

new Chip(
  label: new Text('Peyton Smith'),
)

new TextField(

)
Run Code Online (Sandbox Code Playgroud)

是否有可能将它们组合起来以获得类似于Material 规范中的内容,其中在Material中输入内容TextField会添加Chip?

在此处输入图片说明

dart flutter

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