(Android)在Java类中设置(图像 - )按钮的宽度/高度

时间:2015-07-05 13:16:37

标签: java android android-studio

我想在width中设置height的{​​{1}}和ImageButton,按钮的宽度应为Java Class,高度按钮应该是width of the display / 4

代码:

height of the display / 4

显然,对于名为 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y; ImageButton button = (ImageButton) findViewById(R.id.imageButton); // button.setWidth(width/4) // button.setHeight(height/4) } setWidth()的按钮,没有方法,我该如何完成它?

3 个答案:

答案 0 :(得分:0)

不要让我评论,但如果你查看activity_main.xml,你应该在其中找到类似的内容。

<ImageButton
android:contentDescription="@+id/imageButton1"
android:id="@+id/imageButton1" />

从这里开始,您可以添加到此android:layout_width = 50p,其中50p是50像素宽。您可以将其更改为`android:layout_height = 100p,只需将50和100更改为您喜欢的数字。所以,在你添加它们之后它会是这样的,

<ImageButton
android:contentDescription="@+id/imageButton1"
android:id="@+id/imageButton1"
android:layout_width ="50p"
android:layout_height ="50p" />

答案 1 :(得分:0)

如果要从Java代码设置ImageView的宽度和高度,可以执行以下操作:

LayoutParams params = button.getLayoutParams();
params.width = width/4;
params.height = height/4;
button.requestLayout();

答案 2 :(得分:0)

可能的重量是你在寻找什么。例如,此代码将为您提供四个矩形,每个人占用屏幕的四分之一

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <View
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/black"/>

            <View
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/white"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">
            <View
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/holo_red_dark"/>

            <View
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@android:color/holo_blue_bright"/>
        </LinearLayout>
    </LinearLayout>

您可以在linearlayout中定义weightSum,并且视图将缩放为weightSum的百分比。