android studio中是否有文件xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<imageButton
android:id="@+id/imageButton1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:scaleType="fitXY" />
<imageButton
android:id="@+id/imageButton2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/transparent"
android:scaleType="fitXY" />
</LinearLayout>
我需要有2个方形按钮的全宽,这怎么办?
答案 0 :(得分:3)
您可以通过扩展ImageButton
View.In onMeasure()
在此处制作自定义视图,您可以将ImageButton
的高度设置为等于其宽度。您也可以在XML中使用此类。
以下是片段: -
public class SquareImageButton extends ImageButton {
public SquareImageButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width=getMeasuredWidth();
setMeasuredDimension(width,width);
}
}
答案 1 :(得分:1)
1。以编程方式获取width
的{{1}}。
display
2。最后,通过设置新的DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int width = displayMetrics.widthPixels;
width
值制作Square Button
LayoutParams(width, width).
3。使用ImageButton imageButton1 = (ImageButton) findViewById(R.id.imageButton1);
ImageButton imageButton2 = (ImageButton) findViewById(R.id.imageButton2);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, width);
imageButton1.setLayoutParams(params);
imageButton2.setLayoutParams(params);
作为ScrollView
的容器,使您的布局LinearLayout
在UI上显示两个按钮并更新scroll-able
如下:
XML
<强>输出:强>
仅供参考,<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_red_light"
android:scaleType="fitXY" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"
android:scaleType="fitXY" />
</LinearLayout>
</ScrollView>
为ImageButton1
色,RED
为ImageButton2
色。两者都是BLUE
形状。
希望这会有所帮助〜
答案 2 :(得分:1)
首先,你需要一个方形图像放入imageButton。然后,您将AdjustViewBounds设置为true。然后将scaletype设置为FitXY。我使用线性布局并使用权重和视图来调整大小和位置。适合缩放和imageButton将正方形。这是我在xml中的ImageButton:
android:scaleType="fitXY"
android:layout_weight="1"
android:adjustViewBounds="true"