标签: background-drawable

更改searchview小部件的背景drawable

我正在尝试更改位于Android操作栏searchview小部件中的drawable.

目前它看起来像这样: 在此输入图像描述

但我需要将蓝色背景改为红色.

我尝试过很多东西,不用滚动我自己的搜索小部件,但似乎没有任何工作.

有人能指出我改变这个方向的正确方向吗?

android styles android-actionbar searchview background-drawable

122
推荐指数
5
解决办法
7万
查看次数

如何使用不调整大小的全屏背景图像(带中心裁剪)

我正在尝试将照片设置为背景Activity.我希望背景是一个全屏图像(没有边框).

因为我希望图像在没有拉伸/挤压的情况下填充整个活动的背景(即X和Y的不成比例的缩放)并且我不介意是否必须裁剪照片,我正在使用RelativeLayout带有ImageView(带android:scaleType="centerCrop")和我的布局的其余部分由a ScrollView和它的孩子组成.

<!-- Tried this with a FrameLayout as well... -->
<RelativeLayout> 
   <!-- Background -->
   <ImageView  
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:scaleType="centerCrop"/>
   <!-- Form -->
   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">
      <ScrollView>
        <LinearLayout>
          ...
          <EditText/>
        </LinearLayout>
      </ScrollView>
   </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

问题是布局的其余部分有一些EditText视图,当软键盘出现时,ImageView会重新调整大小.我希望背景保持不变,无论软键盘是否可见.

我已经看到很多关于ImageViews被重新调整大小的问题但是(imo)没有令人满意的答案.其中大多数只是设置android:windowSoftInputMode="adjustPan"- 这并不总是实用的,特别是如果您希望用户能够滚动活动 - 或使用getWindow().setBackgroundDrawable()不裁剪图像.

我已经设法将ImageView子类化并覆盖它onMeasure()(请参阅我的答案:当键盘打开时ImageView调整大小)以便它可以强制固定的高度和宽度 - 等于设备的屏幕尺寸 - 根据标志但我是想知道是否有更好的方法来实现我想要的结果.

总而言之,我的问题是:如何将活动的背景设置为全屏照片

  • 使用scale type ="centerCrop",使照片均匀缩放(保持其纵横比),因此两个尺寸(宽度和高度)将等于或大于视图的相应尺寸;

  • 弹出软键盘时不会调整大小;


回答:

我最后关注了@pskink的建议和子类BitmapDrawable(见下面的答案).我不得不做一些调整,以确保BackgroundBitmapDrawable …

java android android-layout android-imageview background-drawable

17
推荐指数
1
解决办法
1万
查看次数

如何在横向中修复截止自定义SearchView背景?

我已经按照这个问题的优秀答案来使SearchView我的ActionBar中的小部件适合自定义主题.它适用于纵向模式,但在横向上,操作系统会缩小ActionBar的高度以最大化内容屏幕区域.SearchView不像其他项目那样将没有边距的小部件装入ActionBar,而是在顶部切掉它:

SearchView小部件,顶部切碎

我已经挖掘了Android源的res文件夹,但是找不到任何专门的布局或资源,这些布局或资源会明显地解决这个问题,甚至是Android本身如何管理默认的Holo SearchViewWidget到减少的ActionBar中.

任何见解都表示赞赏.谢谢.

android android-theme android-actionbar searchview background-drawable

5
推荐指数
1
解决办法
1103
查看次数

如何动态更改TextView的背景颜色?

我已经提到了这个问题,并使用circle.xml (在res/drawable中)为TextView实现循环背景,并将其设置android:background="@drawable/circle"为TextView.但我需要的是,我需要通过代码动态设置背景颜色.就像棒棒糖联系应用程序,如下所示

在此输入图像描述

我该如何实现这一目标?我需要圆形的TextView背景,如上图所示

android textview background-drawable

3
推荐指数
1
解决办法
2937
查看次数