我的android应用程序中有一个布局,如下图所示,没什么特别的,只有三个水平放置的按钮。但在使用Material设计样式时,此LinearLayout的默认背景颜色为黑色。
使用Material Theme时,有没有办法控制所有Linerar布局的背景颜色?我查看了themes_matrial.xml,其中没有我看到的部分设置了通用背景颜色。我是否需要在我的xml文件中为所有LinearLayouts手动设置它?
我的styles.xml如下所示:
<LinearLayout
android:id="@+id/action_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/mostfav"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="mostFav"
android:text="Most Fav" />
<Button
android:id="@+id/sortDateButton"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="sortByDate"
android:text="@string/sortdate" />
<Button
android:id="@+id/sortTextButton"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="sortByText"
android:text="@string/sorttext" />
<TextView
android:id="@+id/tweetCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:textColor="@color/colorPrimaryText" />
</LinearLayout>
我的LinearLayout如下:
#import <UIKit/UIKit.h>
@interface CustomButton : UIButton
@end
答案 0 :(得分:0)
AFAIK,使用style.xml
无法做到这一点,但您可以通过创建自定义LinearLayout来实现。
public class MyLinearLayout extends LinearLayout {
public MyLinearLayout(Context context) {
super(context);
this.setBackgroundColor(Color.RED);
}
public MyLinearLayout(Context context, AttributeSet attrs) {
super(context, attrs);
this.setBackgroundColor(Color.RED);
}
public MyLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.setBackgroundColor(Color.RED);
}
public MyLinearLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
this.setBackgroundColor(Color.RED);
}
}
在xml文件中,
<com.yourpackage.name.MyLinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"></com.yourpackage.name.MyLinearLayout>
希望这会有所帮助:)