Я использую для реализации CustomAdapter для заполнения данных списка. И для каждого элемента я пытаюсь настроить layoutparams textview. Но layoutparams.gravity не работает в моем коде. Ниже приведен фрагмент кода, который я используюAndroid: параметр гравитации макета не показывает никакого эффекта
public View getView(int position, View convertView, ViewGroup parent) {
User user= getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_user, parent, false);
}
TextView tvName = (TextView) convertView.findViewById(R.id.userName);
tvName.setLayoutParams(getLayoutParams());
tvName.setText(getStringFromXmlByName(user.getTitle()));
tvName.setGravity(Gravity.CENTER_HORIZONTAL);
tvName.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.background));
return convertView;
}
private LayoutParams getLayoutParams() {
LayoutParams layoutParams = new LayoutParams(convertDpIntoPixels(300),
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT;
return layoutParams;
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >
<TextView
android:id="@+id/userName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="6dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Любое возможное решение этой проблемы?
гравитация была установлена динамически – LearningBasics
u r, придающая гравитацию текстовый вид, а не макет лайнера, и ваш текст также может быть применен к wrap_content. Gravity не применяется на wrap_content –