Articles of android actionbar

Android – 活动主页/向上箭头具有SDK 24的额外填充/边距

我刚刚将我的应用从使用SDK 23更新到SDK 24。 我的活动出现了一个问题,即显示Up / Home箭头(即getSupportActionBar().setDisplayHomeAsUpEnabled(true) ),因为现在在向上箭头和活动标题之间存在额外的(不需要的)空间。 对于没有向上箭头的活动,活动标题与之前完全相同,这表示额外的填充/边距与向上箭头相关联,而不是与活动标题相关联。 我的问题是如何更改布局,使其与SDK 23看起来与SDK 23相同? 使用SDK 23在向上箭头和标题之间的小差距: 使用SDK 24在向上箭头和标题之间存在较大(不需要的)差距: 这是我的旧build.gradle(SDK 23): apply plugin: ‘com.android.application’ android { compileSdkVersion 23 buildToolsVersion “23.0.3” defaultConfig { applicationId “com.example.myapp” minSdkVersion 19 targetSdkVersion 23 versionCode 42 versionName “0.42” } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } packagingOptions { exclude ‘META-INF/DEPENDENCIES’ exclude […]

Android:以编程方式更改整个应用布局方向

如何将整个应用布局方向更改为RTL? 我正在编写一个应用程序,用户必须在首次启动时选择它的语言,并且布局应根据用户选择更改为RTL或保持LTR。 我曾经为AndroidManifest添加了android:supportsRtl=”true” ,并为每个布局添加了android:layoutDirection=”rtl” ,但这种方法存在如下问题: 一个问题是当我将方向更改为RTL时, ActionBar主页图标或导航按钮(当启用了主页时)仍然是LRT并且只是向右移动。 我也试图以编程方式改变方向,结果是一样的: if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){ getWindows().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); } 有没有办法强制所有活动一次成为RTL,或者我们应该分别在每个活动中设定方向?

Android状态栏与ActionBar重叠

我知道我可以使用requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY)制作ActionBar叠加层 并且可以在我的屏幕中切换/显示状态栏(通过在FLAG_FULLSCREEN和FLAG_FORCE_NOT_FULLSCREEN之间切换)。 这很好用。 但是,当我切换状态栏时,我不希望我的布局移动。 我知道我可以使用以下内容使状态栏“覆盖”(尽管不透明)内容: WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 这也很好,除了(预期的)后果,当使用ActionBar时,ActionBar被截止一半 – 其中一半基本上在状态栏下。 所以我想知道,在这种情况下,有没有办法通过状态栏的高度“移动ActionBar”? 我知道在更糟糕的情况下,我可以使用位于布局中的自定义视图来执行此操作,但我宁愿不这样做(希望从ActionBar中受益)。 谢谢!

样式不确定ActionBar上的进度条

我想在操作栏上设置progressBar但是设置 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setProgressBarIndeterminateVisibility(true); 在onCreate方法上产生一个中等大小的progressBar(48dip x 48dip)我想。 我想改变progressBar的大小,但我找不到如何做到这一点。 你能帮我吗?

找出ActionBar是否堆叠

如果您向ActionBar添加选项卡,它们将在纵向模式下的手机上处于额外的堆叠ActionBar中。 有没有一种简单的方法可以确定是否发生了这种情况? 我附上了YouTube应用的两个屏幕截图。 第一个显示正常的ActionBar其中包含选项卡,第二个显示堆叠的ActionBar中的选项卡。

以前的片段在新片段下可见

我有一个tab + ViewPager布局,在其中一个选项卡中我有一个列表视图。 当我在onclick上替换该列表片段时,我仍然可以看到新片段下的旧片段。 看到: 码: FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); HallsInStateFragment hallsForState = new HallsInStateFragment(); transaction.replace(R.id.container, hallsForState); transaction.addToBackStack(null); transaction.commit(); R.id.container是视图中的FrameLayout。

如何在MainActivity中解除/关闭/解除ActionBar中的SearchView?

我想在输入值后清除并关闭SearchView。 我find了一个解决方案,但它会关闭搜索,如果我再次尝试搜索,则不会执行任何操作。 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main_actions, menu); searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.setOnQueryTextListener(searchListener); return super.onCreateOptionsMenu(menu); } SearchView.OnQueryTextListener searchListener = new SearchView.OnQueryTextListener(){ @Override public boolean onQueryTextChange(String arg0) { return false; } @Override public boolean onQueryTextSubmit(String query) { new JsoupGetData(“http://api.openweathermap.org/data/2.5/find?q=”+ query + “&lang=pl”).execute(); try { searchView.onActionViewCollapsed(); } catch(Exception ex){ ex.printStackTrace(); System.out.println(ex); } return true; } […]

仅在操作栏中显示选项卡

我刚刚使用ActionBar Sherlock在3.0之前的Android设备上实现了android操作栏。 我在使用标签导航时遇到了一个问题。 目前,操作栏分为两行,位于屏幕顶部。 第一行包含应用程序图标和应用程序标题,第二行包含导航选项卡。 我试图用actionBar.setDisplayOptions(0);删除顶部栏,但现在我仍然有两行,但顶行是空的。 如何删除此顶行? 谢谢!

设置操作栏颜色时出现“字段可以转换为局部variables”消息

设置操作栏的颜色后, private String actionBarColor = “#B36305”;在private String actionBarColor = “#B36305”; 突出显示为黄色,并出于某种原因返回警告。 可以做些什么来摆脱这个警告? 字段可以转换为局部variables public class MainActivity extends AppCompatActivity { private String actionBarColor = “#B36305”; private int getFactorColor(int color, float factor) { float[] hsv = new float[3]; Color.colorToHSV(color, hsv); hsv[2] *= factor; color = Color.HSVToColor(hsv); return color; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_activity_main); […]

三星Galaxy S4未对准Actionbar图标

我正在为一个应用程序实现一个视觉设计,结果是Galaxy S4错位了动作栏主页图标,如屏幕截图所示: 截图是使用两个设备上完全相同的APK文件拍摄的。 紫色指南位于距左侧16dp处,对于屏幕布局的其余部分来说非常重要。 S4增加了8dp左右。 这个额外的余量使得主页​​图标看起来不合适。 我尝试了不同分辨率/密度的其他三星手机(Galaxy S3,Galaxy S4 Mini,Galaxy Ace),这些都在16dp正确对齐图标。 我会把它归结为Android碎片并继续前进,但Galaxy S4的市场份额是如此之大,以至于我无法忽视这个问题。 有没有其他人遇到这个,并find了修复?