【发布时间】:2016-05-12 06:44:27
【问题描述】:
我在为我的 Activity 设置 主题 时遇到问题。一切都在 Pre-Lollipop 设备中完美运行。
我想实现这样的布局设计:
图片:1
我已经通过这个 xml 做到了:
design.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/spec_back"
android:orientation="vertical"
android:weightSum="1">
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/spec_back"
android:scrollbars="none">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="3">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:background="@color/transparent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="30dp"
android:layout_margin="1dp"
android:background="@color/transparent"
android:orientation="horizontal"
android:weightSum="6">
<Button
android:id="@+id/btn_cut"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/blue_spec"
android:clickable="false"
android:gravity="left|center"
android:paddingLeft="3dp"
android:text="@string/CUT"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_cut_ex"
style="@android:style/ButtonBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/EX"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_cut_vg"
style="@android:style/ButtonBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/VG"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_cut_g"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/G"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_cut_f"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/G"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_tex"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/square_trans"
android:text="@string/tex"
android:textColor="@color/blue_spec"
android:textSize="@dimen/font_12" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="30dp"
android:layout_marginBottom="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:orientation="horizontal"
android:weightSum="6">
<Button
android:id="@+id/btn_pol"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/blue_spec"
android:clickable="false"
android:gravity="left|center"
android:paddingLeft="3dp"
android:text="@string/POL"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_pol_ex"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/EX"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_pol_vg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/VG"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_pol_g"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/G"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_pol_f"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/G"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_tvg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/square_trans"
android:text="@string/tvg"
android:textColor="@color/blue_spec"
android:textSize="@dimen/font_12" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="30dp"
android:layout_marginBottom="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:orientation="horizontal"
android:weightSum="6">
<Button
android:id="@+id/btn_sym"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/blue_spec"
android:clickable="false"
android:gravity="left|center"
android:paddingLeft="3dp"
android:text="@string/SYM"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_sym_ex"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/EX"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_sym_vg"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/VG"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_sym_g"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/G"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_sym_f"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dp"
android:layout_weight="1"
android:background="@color/gray_spec"
android:text="@string/F"
android:textColor="@color/white"
android:textSize="@dimen/font_12" />
<Button
android:id="@+id/btn_nobgm"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/square_trans"
android:text="@string/nobgm"
android:textColor="@color/blue_spec"
android:textSize="@dimen/font_12" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="20dp"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
我已经为我的按钮指定了1dp 的边距,以查看它们彼此分开。这种布局非常适用于棒棒糖之前的设备。但是对于 Lollipop,尽管有边距,但它还是被合并了。我看不到左右边距,可以看到上下边距。这个问题可以通过下面的棒棒糖设备图片来解释:
图片:2
我正在应用主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorPrimary</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:actionModeBackground">@color/colorPrimary</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:textColor">@color/myTextPrimaryColor</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="android:typeface">serif</item>
</style>
请帮忙。我在这里呆了 4 天。
【问题讨论】:
-
@downvoter 你应该评论下投票的原因。
-
你的意思是这个
Theme不能只在5.0之上工作? -
是的.. 可行.. 但边距不存在.. 如 image2 所示。
-
为什么不使用
Table Layout这个Design。我认为有了这些东西会好得多。或者在每个Linear Layout旁边使用View。 -
作为替代方案,您的建议很好.. 但目前我有 3000 多行的这些类型的 xml 实现。所以首先我想找到这段代码的问题,然后去找你的解决方案。顺便说一句..!!
标签: android android-layout android-5.0-lollipop android-theme