-1

我有一个RelativeLayout显示应用程序名称及其图标的应用程序名称。我希望能够从 java 端切换图标和文本位置,因此应用程序名称显示在图标下方,而无需膨胀新视图。这怎么可能?

这是我的代码

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:paddingBottom="27dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/appIcon"
        android:layout_width="54dp"
        android:layout_height="54dp"
        android:layout_margin="2dp"
        android:layout_below="@+id/appName"
        android:layout_centerHorizontal="true"
        android:contentDescription="icon"
        android:src="#80000000" />

    <TextView
        android:id="@+id/appName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:fontFamily="sans-serif-condensed"
        android:gravity="center"
        android:singleLine="true"
        android:text="name"
        android:textSize="13dp"/>

</RelativeLayout>
4

1 回答 1

0

layout_below您可以以编程 方式更改规则,如下所示:

TextView tvAppName = findviewById(R.id.appName)

RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); 
    params.addRule(RelativeLayout.BELOW, R.id.appIcon);
    tvAppName .setLayoutParams(params);
于 2019-08-26T19:34:18.700 回答