Android Studio中的wrap_content和match_parent简单解析

Android Studio中的wrap_content和match_parent实例解析

前言:
我们在Android Studio控件的设置的过程中都会遇到设置layout_width和layout_height属性的问题,通常我们都会设置成就是wrap_content和match_parent,那这两种属性的区别究竟在什么地方呢?

match_parent

  • layout_width:直白来讲就是父布局有多宽,你设置的组件的布局就有多宽,即‘父布局的宽‘==‘控件的宽’
  • layout_height:直白来讲就是父布局有多高,你设置的组件的布局就有多高,即‘父布局的高‘==‘控件的高’
    以TextView为例:
    在这里插入图片描述
    我们可以看到TextView的整个长和父布局是一样的,整个宽也和父布局是一样的,也就是我们所看到的整个TextView充斥着整个父布局的空间
    wrap_content:
  • 在此属性下layout_width和layout_height通过字面意思wrap来说就是包裹你所输入的内容的长和宽,如果你什么都不输入,那么就是一个点,这个长和宽会随着你输入的内容的长度的变化而变化,可以进行扩充,是变量,而match_parent下的长和宽则是不变量。
    还是以TextView来举例:
    在这里插入图片描述
    我们可以看到当你什么都不输入时,此时的wrap_content属性下的控件TextView的长度就是0;
    在这里插入图片描述
    当你进行内容的填充时,组件的长度和宽度就会随之发生变化;
  • 30
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
下面是Android Studio失物招领模块Xml文件的实现代码,请修改代码实现下拉以及图片上传功 <TextView android:id="@+id/shiwuzhaolingzi" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请选择是失物还是招领" /> <Spinner android:id="@+id/spinner_lost_found" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/lost_found_array" /> <TextView android:id="@+id/text_item_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="物品名称" /> <EditText android:id="@+id/edit_item_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_desc" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="物品描述" /> <EditText android:id="@+id/edit_item_desc" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_time" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="时间" /> <EditText android:id="@+id/edit_item_time" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_location" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="地点" /> <EditText android:id="@+id/edit_item_location" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <Button android:id="@+id/button_upload_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="上传图片" /> <TextView android:id="@+id/text_image_path" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="图片路径:" /> <Button android:id="@+id/button_submit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交" /> </LinearLayout>
05-17
以下是修改后的代码实现下拉和图片上传功能: <TextView android:id="@+id/shiwuzhaolingzi" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请选择是失物还是招领" /> <Spinner android:id="@+id/spinner_lost_found" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/lost_found_array" /> <TextView android:id="@+id/text_item_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="物品名称" /> <EditText android:id="@+id/edit_item_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_desc" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="物品描述" /> <EditText android:id="@+id/edit_item_desc" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_time" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="时间" /> <EditText android:id="@+id/edit_item_time" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:id="@+id/text_item_location" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="地点" /> <EditText android:id="@+id/edit_item_location" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> <Button android:id="@+id/button_upload_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="上传图片" android:onClick="onUploadImageClick" /> <TextView android:id="@+id/text_image_path" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="图片路径:" /> <Button android:id="@+id/button_submit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交" android:onClick="onSubmitClick" /> <!-- 添加下拉框选项数组 --> <string-array name="lost_found_array"> <item>失物</item> <item>招领</item> </string-array> <!-- 添加文件选择器 --> <com.github.dhaval2404.imagepicker.ImagePicker android:id="@+id/imagePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 修改后的Java代码: public class MainActivity extends AppCompatActivity { private Spinner mSpinnerLostFound; private EditText mEditItemName; private EditText mEditItemDesc; private EditText mEditItemTime; private EditText mEditItemLocation; private TextView mTextImagePath; private Button mButtonUploadImage; private Button mButtonSubmit; private ImagePicker mImagePicker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化控件 mSpinnerLostFound = findViewById(R.id.spinner_lost_found); mEditItemName = findViewById(R.id.edit_item_name); mEditItemDesc = findViewById(R.id.edit_item_desc); mEditItemTime = findViewById(R.id.edit_item_time); mEditItemLocation = findViewById(R.id.edit_item_location); mTextImagePath = findViewById(R.id.text_image_path); mButtonUploadImage = findViewById(R.id.button_upload_image); mButtonSubmit = findViewById(R.id.button_submit); mImagePicker = new ImagePicker(this); // 创建文件选择器 // 设置上传图片按钮点击事件 mButtonUploadImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mImagePicker.choosePicture(true /* allow camera */); } }); // 设置提交按钮点击事件 mButtonSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO: 实现数据提交逻辑 } }); } // 在Activity添加以下两个方法以便与文件选择器交互 @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); mImagePicker.handleActivityResult(requestCode, resultCode, data); } public void onUploadImageClick(View view) { // 显示文件选择器 mImagePicker.choosePicture(true /* allow camera */); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值