我发现,如果父布局包含android:fitsSystemWindows="true",当发生与视图相关的操作时,它将干扰我的BottomSheets定位.
特别是我遇到的那个:文本视图中的换行符将触发底部表格偏移系统/通知栏的高度.
newline + fitsSystemWindows =推倒我的底部表格
我删除了所有不相关的东西到按钮,textview和底部表格.
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) 我正在使用TabLayout并ViewPager一起做一个标签式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
假设我们创建了一个Chip 对象和TextField如下所示的对象。你如何Chip在里面添加一个TextField?
new Chip(
label: new Text('Peyton Smith'),
)
new TextField(
)
Run Code Online (Sandbox Code Playgroud)
是否有可能将它们组合起来以获得类似于Material 规范中的内容,其中在Material中输入内容TextField会添加Chip?