gpt4 book ai didi

java - android:自定义相对布局(或...)内的通用 ImageView (或任何其他 View )

转载 作者:行者123 更新时间:2023-11-30 00:42:43 24 4
gpt4 key购买 nike

我知道这看起来有点傻!如果我想错了,请纠正我。

我制作了一个自定义的 relativeLayout,它具有某种取决于屏幕尺寸的动态行为。我需要在此布局中添加一个 imageView,它继承了它的尺寸,就像它的父级一样。

我想知道是否有一种方法可以在我的自定义布局类中实现 ImageView ,以便每次我将它添加到布局中时, ImageView 都会出现在其中?

最佳答案

当然你可以添加任何View你想在自定义中自动RelativeLayout .我看到了一些您可以采用的不同方法。

1- 为自定义 RelativeLayout 的内容创建一个 xml 布局, 你也可以使用 <merge>如果你有很多观点,作为根标签:

public class CustomRelativeLayout extends RelativeLayout {

private ImageView imageView;

public CustomRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
inflate(context, R.layout.custom_relative_layout, this);

imageView = (ImageView) findViewById(R.id.image_view);
}
}

custom_relative_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

2- 创建 View以编程方式

public class CustomRelativeLayout extends RelativeLayout {

private ImageView imageView;

public CustomRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);

imageView = new ImageView(context);
LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
imageView.setLayoutParams(layoutParams);
addView(imageView);
}
}

3- 用你的 CustomRelativeLayout 创建一个 xml和任何 child View在其中,而不是将其包含在其他布局中 <include> .获取 child 引用ViewonFinishInflate()

public class CustomRelativeLayout extends RelativeLayout {

ImageView imageView;

@Override
protected void onFinishInflate() {
super.onFinishInflate();
imageView = (ImageView) findViewById(R.id.image_view);
}
}

custom_relative_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<com.example.CustomRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</com.example.CustomRelativeLayout>

并在其他地方使用

<include layout="@layout/custom_relative_layout"/>

关于java - android:自定义相对布局(或...)内的通用 ImageView (或任何其他 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42308144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com