gpt4 book ai didi

android - 多屏ListView中如何给ImageView设置宽度

转载 作者:行者123 更新时间:2023-11-30 01:32:36 25 4
gpt4 key购买 nike

我有一个带有 ImageView 和 TextView 的 ListView,我想将图像的宽度设置为屏幕的 2/3。

如何创建自定义 ImageView 来执行此操作?到目前为止,这是我尝试过的。

自定义 View

public class CustomImageListView extends ImageView {
public CustomImageListView(Context context) {
super(context);
}

public CustomImageListView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public CustomImageListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
// Snap
// to
int width = MainActivity.width;
int height = MainActivity.height;
int w = width *2/5;
int h = w *4/6;
setMeasuredDimension(w, h);
// setMeasuredDimension(ChoseImage.width, ChoseImage.height); // Snap to
// //
// width
}

}

自定义 View XML

<tuannt.tinmoi.custom.CustomImageListView
android:id="@+id/ivAvater"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/nomage" />

最佳答案

您可以定义一个 WeightSum = 3 的水平线性布局,并在其中放置另一个 layout_weight = 1 的布局,其余部分的权重 = 2,因此您可以将 imageView 放在那里。引用如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/fullscreen"
style="@style/translucent"
android:orientation="horizontal"
android:weightSum="3">

<RelativeLayout
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center"
android:background="#88000000"
android:id="@+id/sidebar"
android:layout_weight="1" >

</RelativeLayout>

<!-- other views, with a total layout_weight of 2 -->

</LinearLayout>

关于android - 多屏ListView中如何给ImageView设置宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544642/

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