gpt4 book ai didi

android - 如何在android中保持图像按钮的纵横比?

转载 作者:IT老高 更新时间:2023-10-28 21:39:57 26 4
gpt4 key购买 nike

我有 5 个方形 ImageButton,我想在屏幕底部并排排列。我将每一组(不同的 id)设置为:

        <ImageButton
android:id="@+id/box1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_weight="1"
android:layout_margin="1dp"
/>

我在主 java 中分配了这样的背景:

    int[] imageIds = new int[] {R.id.box1,R.id.box2,R.id.box3,R.id.box4,R.id.box5};
for(int i = 0; i<5; i++){
imageButtons[i] = (ImageButton) findViewById(imageIds[i]);
imageButtons[i].setBackgroundResource(R.drawable.blank);
}

我想要它做的是缩放宽度以整齐地并排放置在屏幕底部(现在可以了),但高度也会自动缩放以匹配宽度。这可能吗?我不想使用 setImageSource,因为它会在图像按钮周围设置边框。

最佳答案

   <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/layoutButtons">

<com.package.SquareButton
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"

<ImageView
android:id="@+id/box1"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>

</com.package.SquareButton>

<com.package.SquareButton
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"

<ImageView
android:id="@+id/box2"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"/>

</com.package.SquareButton>

.........
</LinearLayout>

然后添加这个自定义按钮类:

public class SquareButton extends LinearLayout {

public SquareButton(Context context) {
super(context);
}

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

// This is used to make square buttons.
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
}

关于android - 如何在android中保持图像按钮的纵横比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4656986/

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