我正在尝试更改位于Android操作栏searchview小部件中的drawable.
目前它看起来像这样:

但我需要将蓝色背景改为红色.
我尝试过很多东西,不用滚动我自己的搜索小部件,但似乎没有任何工作.
有人能指出我改变这个方向的正确方向吗?
android styles android-actionbar searchview background-drawable
我正在尝试将照片设置为背景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
我已经按照这个问题的优秀答案来使SearchView我的ActionBar中的小部件适合自定义主题.它适用于纵向模式,但在横向上,操作系统会缩小ActionBar的高度以最大化内容屏幕区域.SearchView不像其他项目那样将没有边距的小部件装入ActionBar,而是在顶部切掉它:

我已经挖掘了Android源的res文件夹,但是找不到任何专门的布局或资源,这些布局或资源会明显地解决这个问题,甚至是Android本身如何管理默认的Holo SearchViewWidget到减少的ActionBar中.
任何见解都表示赞赏.谢谢.
android android-theme android-actionbar searchview background-drawable
我已经提到了这个问题,并使用circle.xml (在res/drawable中)为TextView实现循环背景,并将其设置android:background="@drawable/circle"为TextView.但我需要的是,我需要通过代码动态设置背景颜色.就像棒棒糖联系应用程序,如下所示
我该如何实现这一目标?我需要圆形的TextView背景,如上图所示