使用自定义样式的crouton库

时间:2014-12-19 11:21:59

标签: android crouton

我正在使用Crouton lib(https://github.com/keyboardsurfer/Crouton)。

现在,我想使用自定义样式而不是默认样式。我怎么办?

Style.ALERT 是默认样式。

Crouton.showText(this, "test", Style.ALERT);

我想使用这种风格:

@styles:

<style name="CroutonGreen">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:background">@color/color_pressed_buy_an_item</item>
    <item name="android:gravity">center</item>

</style>

1 个答案:

答案 0 :(得分:6)

它说here

一般情况下,您可以修改

显示持续时间 尺寸设置 要显示的文本的选项 自定义视图 外观&amp;消失动画 显示图像

由于Style是调整油炸面包丁的一般切入点,请亲自去看看可以用它做什么。

您可以尝试使用以下代码修改该类以更改背景颜色:

static {
ALERT = new Builder()
  .setBackgroundColorValue(holoRedLight)
  .build();
CONFIRM = new Builder()
  .setBackgroundColorValue(holoGreenLight)
  .build();
INFO = new Builder()
  .setBackgroundColorValue(holoBlueLight)
  .build();
CUSTOM = new Builder()
  .setBackgroundColorValue(myColor)
  .build();

}

我还没有测试过,但我认为它应该可行。

然后在该类下面有以下代码:

 public Builder() {
  configuration = Configuration.DEFAULT;
  paddingInPixels = 10;
  backgroundColorResourceId = android.R.color.holo_blue_light;
  backgroundDrawableResourceId = 0;
  backgroundColorValue = NOT_SET;
  isTileEnabled = false;
  textColorResourceId = android.R.color.white;
  textColorValue = NOT_SET;
  heightInPixels = LayoutParams.WRAP_CONTENT;
  widthInPixels = LayoutParams.MATCH_PARENT;
  gravity = Gravity.CENTER;
  imageDrawable = null;
  imageResId = 0;
  imageScaleType = ImageView.ScaleType.FIT_XY;
  fontName = null;
  fontNameResId = 0;
}

heightInPixels,widthInPixels,gravity已根据您的风格正确设置。

最后,在您的应用中,使用Style.CUSTOM调用您的烤面包片。

Crouton.showText(this, "test", Style.CUSTOM);