我是Android开发的新手。我希望LinearLayout
可滚动但在实施已接受的解决方案here后,我应用顶部的默认深蓝色ActionBar
消失了。我正在使用Empty Activity
。
以下是我的activity_main.xml
:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.android.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<!-- blah blah blah -->
</LinearLayout>
</ScrollView>
使用此代码时没有错误。
任何帮助将不胜感激!
答案 0 :(得分:2)
我终于弄明白了我的问题。缺少Actionbar
的原因是因为ScrollView
位于LinearLayout
之外。要解决此问题,请使用其他LinearLayout
打包ScrollView
,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.android.MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<!-- Blah blah blah -->
</LinearLayout>
</ScrollView>
</LinearLayout>
感谢大家,尤其是@arvicx,感谢他们的时间! :)
我希望有这个问题的每个人都觉得这很有用。
答案 1 :(得分:0)
在res / values / styles.xml下打开styles.xml文件,并确保AppTheme父级为Theme.AppCompat.Light.DarkActionBar
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
一件事,LinearLayout的属性
android:layout_height="match_parent"
应该是
android:layout_height="wrap_content"
希望它有所帮助......告诉我它是否有效。
答案 2 :(得分:0)
您应该使用Toolbar
支持类,而不是Setting Up the App Bar中所述。原因是(如链接中所述),ActionBar
的行为会有所不同,具体取决于使用的Android版本。
除此之外,@ aridx是正确的,LinearLayout
的布局高度应该是android:layout_height="wrap_content"
,因为让一个可滚动的元素与其容器的大小相同是没有意义的。
由于here
所述的原因,您可能还想添加android:fillViewport="true"
答案 3 :(得分:0)
好友,
垂直使用LinearLayout分别放置标题栏和滚动视图。