1. 前言
Layout_Gravity 和 Gravity 的含义和区别大家都熟悉,但是在java代码中怎样对一个控件设置它的 Layout_Gravity,Gravity 呢,这里我用一个例子来测试下。
2. 干货
如下图,有三个按钮,第三个按钮是被测试的对象,点击第一个按钮,会对第三个按钮设置它的 Layout_Gravity ,点击第二个按钮,对对第三个按钮设置它的 Gravity 。
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="guo.layoutparamsgravity.MainActivity">
<Button
android:text="l_gravity"
android:id="@+id/bt_l_gravity"
android:layout_width="100dp"
android:layout_height="40dp" />
<Button
android:text="gravity"
android:id="@+id/bt_gravity"
android:layout_width="100dp"
android:layout_height="40dp" />
<Button
android:gravity="start"
android:text="test"
android:id="@+id/bt_test"
android:layout_width="100dp"
android:layout_height="100dp" />
</LinearLayout>
再看java代码,设置 Layout_Gravity 代码如下
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(btTest.getLayoutParams());
lp.gravity = Gravity.CENTER;
btTest.setLayoutParams(lp);
设置 Gravity 代码
btTest.setGravity(Gravity.CENTER);
运行后效果如下
好的,设置成功