我创建了一个带有标题图像的活动.此标头图像最初使用ImageView在Activity的布局xml中创建,其中scaleType设置为centerCrop.这就是我想要的,它使图像居中,在纵向模式下左右剪切,以横向模式显示所有图像.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="30dp"
android:paddingBottom="6dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:background="#919EAC"
android:orientation="vertical" >
<ImageView
android:id="@+id/header_image"
android:layout_width="match_parent"
android:layout_height="120dp"
android:contentDescription="@string/header_description"
android:scaleType="centerCrop"
android:src="@drawable/header" />
.... <other views> ...
Run Code Online (Sandbox Code Playgroud)
我想用可绘制的背景替换它,以便我可以使用标题图像空间来显示数据,这样可以节省我在不同活动中重复相同的布局.
出于这个原因,我创建了一个drawable,我可以在android:background属性中引用:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#919EAC" />
</shape>
</item>
<item>
<bitmap
android:antialias="true"
android:gravity="top|center_horizontal"
android:src="@drawable/header" />
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
此drawable定义了布局将定义的彩色背景,并定义了一个标题图像,否则将作为ImageView包含在布局中.
然而,现在我的图像缩放,而我希望它被裁剪.
检查Android文档我尝试了其他重力模式,如
android:gravity="top|clip_horizontal"
Run Code Online (Sandbox Code Playgroud)
但它似乎仍然显示/缩放与图像视图不同.
背景可绘制的正确定义是什么?
我已经看到了代码Arrays.class,但是无法理解为什么对数组所做的更改反映到ArrayList,即使下面的代码返回了新的ArrayList.
@SafeVarargs
@SuppressWarnings("varargs")
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
Run Code Online (Sandbox Code Playgroud)
示例代码:
public class Test {
public static void main(String[] args) {
Integer [] array = {1,2,3,4,5};
List<Integer> list = new ArrayList<>();
list = Arrays.asList(array);
System.out.println("List created from array: " + list);
array[0] = 100;
System.out.println("List after changing array:" + list);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
从数组创建的列表:[1,2,3,4,5]
更改数组后的列表:[100,2,3,4,5]