我是Xamarin Android初学者。在我写的应用程序中,我使用RadioGroup创建了一个Activity,并在其下面创建了一个按钮。
一切都很好,直到我的收音机按钮包含太多文字,收音机组从电话屏幕上移开,按钮被隐藏。
所以,我在网上搜索,发现我可以将RadioGroup设为可滚动,使其成为ListView,并将ListView设置在按钮上方。
此外,我发现Xamarin Android提供了BuiltInView SimpleListItemSingleChoice,这是一个现成的无线电组作为ListView。
所以,我实现了这一点,一切都很好,除了BuiltInView的每个Item中的文本字段被缩短(即我的单选按钮选项)。
我想应用属性
android:layout_height="wrap_content"
这样我的单选按钮的长文本标签就不会被缩短。
我的问题是,如何将其应用于BuiltInView的每个项目?
我试图定义自己的自定义视图,但是在尝试使其可检查时遇到了问题,所以我想知道是否有一种更简单的方法可以通过使用已经提供的BuiltInView来解决问题。
在MyListAdapter GetView中,我有
view = (context.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItemSingleChoice, parent, false));
在我的活动中,我有
myListAdapter = new Adapters.MyListAdapter(this, myStrings, false);
myListView.Adapter = myListAdapter;
答案 0 :(得分:0)
由于BuiltInView不提供xml文件(或者我不知道在Xamarin中访问它的位置),我将以下代码添加到自定义适配器的GetView方法中:
var textLabel = view.FindViewById<TextView>(Android.Resource.Id.Text1);
//I added these 2 lines to set the WrapContent property on each element of the BuiltInView
AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(AbsListView.LayoutParams.MatchParent,
AbsListView.LayoutParams.WrapContent);
textLabel.LayoutParameters = layoutParams;