Как использовать атрибут Gravity внутри любого TextView в LinearLayout - PullRequest
0 голосов
/ 10 мая 2018

Не могли бы вы объяснить, почему мой TextView не работает с гравитацией влево.

введите описание изображения здесь

A: LinearLayout |ориентация = ГОРИЗОНТАЛЬНАЯ |сила тяжести A = вершина, центр или низ.

B: LinearLayout |ориентация = вертикаль |сила тяжести B = влево или в центре или вправо.

C: TextView

i us:

A.setGravity (сила тяжести A);

B.setGravity(сила тяжести B);

Результат сила тяжести:

  • вверх |Слева: не работает (= верхний центр)

  • центр |Слева: не работает (= центр)

  • внизу |Слева: не работает (= внизу по центру)

  • вверху |центр: работа

  • центр |центр: работа

  • низ |центр: работа

  • вверх |справа: работа

  • центр |справа: работа

  • внизу |справа: работа

        LinearLayout parent = new LinearLayout(mContext);
    
    LinearLayout framelayoutTitle = new LinearLayout(mContext);
    framelayoutTitle.setOrientation(LinearLayout.HORIZONTAL);
    framelayoutTitle.setGravity(vGravityTitle);
    
    LinearLayout layoutTitle = new LinearLayout(mContext);
    layoutTitle.setOrientation(LinearLayout.VERTICAL);
    layoutTitle.setGravity(hGravityTitle);
    
    holder.textTitle = new TextView(mContext);
    layoutTitle.setLayoutParams( new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    
    
    framelayoutTitle.setLayoutParams(new LinearLayout.LayoutParams((widthTitle * (width - dp2px(widthImageLV))) / 100, dp2px(heightTitle)));    
    
    
            holder.textTitle.setText(titleList.get(position));
            holder.textTitle.setGravity(alignmentTextTitle);
            holder.textTitle.setLayoutParams( new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            holder.textTitle.setTextSize(sizeTitle);
            holder.textTitle.setBackgroundColor(Color.WHITE);
    
    layoutTitle.addView(holder.textTitle);
    framelayoutTitle.addView(layoutTitle);
    
    parent.setOrientation(LinearLayout.HORIZONTAL);
    parent.setGravity(Gravity.TOP);
    parent.addView(framelayoutTitle);
    

1 Ответ

0 голосов
/ 10 мая 2018

Попробуйте и укажите отступы и поля в соответствии с вашими потребностями.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView"
    android:text="A"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView2"
    android:text="b"
    android:layout_below="@+id/textView"
    />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView3"
    android:text="b"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true"
    />

</RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...