android - 如何以编程方式设置 layout_gravity?

标签 android android-layout

我的问题很简单,

如何以编程方式设置我的按钮 layout_gravity?

我在互联网上找到了这个,但它只是抛出了一个 Nullpointer 异常:

 Button MyButton = new Button(this);

    LinearLayout.LayoutParams  lllp=(LinearLayout.LayoutParams)MyButton.getLayoutParams();
    lllp.gravity=Gravity.RIGHT;
    MyButton.setLayoutParams(lllp); 


    MyLinearLayout.addView(MyButton);

有什么办法吗?

最佳答案

Java

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
params.weight = 1.0f;
params.gravity = Gravity.TOP;

button.setLayoutParams(params);

Kotlin

val params = LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WRAP_CONTENT,
    LinearLayout.LayoutParams.WRAP_CONTENT
).apply {
    weight = 1.0f
    gravity = Gravity.TOP
}

关于重力值以及如何设置重力检查Gravity .

基本上,您应该根据父级选择 LayoutParams。可以是RelativeLayoutLinearLayout等...

关于android - 如何以编程方式设置 layout_gravity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049620/

相关文章:

android - 如何从 Android Studio 构建所有产品风格?

android - 如何使用表格布局在 ImageView 上设置文本?

android - 使用 retrofit2 和 okhttp3 缓存请求

android - 动画期间点击 View 没有反应

java - 更改RelativeLayout以添加ListView

android - 如何在更改 Activity 时保留 TextView 的内容

android - xml 布局错误,无法转换为维度 : 15

android - 自定义圆形 View 。放置 View

Android:WebView滚动动画

android - 是否有使用 getLeaderboardIntent() 获取公共(public)排行榜的解决方法?