java – 将按钮高度和宽度设置为包装内容并填充父级
发布时间:2020-12-14 05:34:28 所属栏目:Java 来源:网络整理
导读:我正在开发一个应用程序,用户应该可以通过按其他按钮来改变按钮的外观.我使用四个按钮将高度设置为换行内容,将高度设置为填充父级,将宽度设置为换行内容,将宽度设置为填充父级. 我用Google搜索了一下,并找到了使用LayoutParams的解决方案,尽管该代码没有指定
我正在开发一个应用程序,用户应该可以通过按其他按钮来改变按钮的外观.我使用四个按钮将高度设置为换行内容,将高度设置为填充父级,将宽度设置为换行内容,将宽度设置为填充父级.
我用Google搜索了一下,并找到了使用LayoutParams的解决方案,尽管该代码没有指定是否更改了宽度的高度.我也有错误说我的IDE无法识别“LayoutParams”.做这个的最好方式是什么? 解决方法
你需要寻找的是View.ViewGroup.LayoutParams.
每个LayoutParams都具有MATCH_PARENT和WRAP_CONTENT属性的常量值. 我已准备好您可以使用的简单代码示例: 活动: package com.example.stack2; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ Button test; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b = (Button)findViewById(R.id.button1); b.setOnClickListener(this); b = (Button)findViewById(R.id.button2); b.setOnClickListener(this); b = (Button)findViewById(R.id.button3); b.setOnClickListener(this); b = (Button)findViewById(R.id.button4); b.setOnClickListener(this); test = (Button)findViewById(R.id.test); } public void onClick(View v) { LayoutParams lp = test.getLayoutParams(); if(v.getId() == R.id.button1) { lp.height = LayoutParams.WRAP_CONTENT; }else if(v.getId() == R.id.button2){ lp.width = LayoutParams.WRAP_CONTENT; }else if(v.getId() == R.id.button3){ lp.height = LayoutParams.MATCH_PARENT; }else if(v.getId() == R.id.button4){ lp.width = LayoutParams.MATCH_PARENT; } test.setLayoutParams(lp); } } 布局xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="h_wc" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="w_wc" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="h_fp" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="h_fp" /> </LinearLayout> <Button android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="test" /> </LinearLayout> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |