У меня есть ListView
, что каждая строка показывает разные проценты.Изменить ширину элемента ListView (строки)?
и я хочу изменить одну из внутренних макетов ширины (внутри надутых counterView
) для этой цели.
, например:
, если первый элемент значение listview
составляет 10%, то ширина устанавливается в 10px тоже
, если второй элемент значение составляет 50%, то ширина изменение 50px слишком
Как это сделать?
Я попробовал эти коды, но он не работает и width
не меняется: (я определил match_parent
ширину для layout
внутри XML
, и я хочу изменить его программно)
public class MyAdapterScores extends BaseAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.scores_layout,null,true);
//I wanna change 'relativeLayoutRightSqure' width inside 'scores_layout'
View layout = convertView.findViewById(R.id.relativeLayoutRightSqure);
ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) layout.getLayoutParams();
//variable precentage has value
p.width=precentage ;
layout.requestLayout();
спасибо за ответ, но я не хочу, чтобы установить ширину, как percentage.The проблема в том, что я могу» t изменить ширину вообще, я хочу найти решение, чтобы изменить ширину на любое значение –
Возможно, вы можете использовать 'setLayout (ширина, высота)'? –
Когда я получаю начальную ширину на 'layout.getWidth()', ширина равна 0, я думаю, что мне нужно изменить ширину где-то еще (кроме 'getView()'), но я не знаю, где! –