我正试图让android:layout_marginEnd =“ - 6dp”有条件地改为2dp:
<FrameLayout
android:id="@+id/wifi_combo"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginEnd="-6dp"
>
我的条件是:
if (mSignalClusterStyle == STYLE_ALWAYS) {
mMobileType.setVisibility(View.VISIBLE);
} else if (mWifiVisible) {
mMobileType.setVisibility(View.GONE);
}
我想在if语句中添加一行,用xd文件中的2dp覆盖-6dp。
我已经探索过setMarginEnd(),但是这方面的资源很少,因为它只有一年的历史,而且我一直在用它编译错误。
以编程方式更改android:layout_marginEnd的最佳方法是什么?
答案 0 :(得分:1)
FrameLayout layout = (FrameLayout) findViewById(R.id.wifi_combo);
FrameLayout.LayoutParams params = (LayoutParams) layout.getLayoutParams();
params.setMarginEnd(2);
答案 1 :(得分:0)
设置endMargin的正确方法是仅使用setMarginEnd(),在API 17中添加。
顺便说一下,你得到的编译错误是什么?