如何将动态操作项添加到android BottomSheet?

时间:2015-07-06 08:32:18

标签: android material-design bottom-sheet

我正在开发一款可以实现BottomSheet类似Google材料设计的应用。我发现的只是一个可以添加到工作表的静态操作,就像这样使用这个库BottomSheet

new BottomSheet.Builder(this).title("title").sheet(R.menu.list).listener(new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                            case R.id.help:
                                q.toast("Help me!");
                                break;
                        }
                    }
                }).show();

此处,R.menu.list将静态操作加载到BottomSheet。 我想要的是向其添加动态操作项,例如,ArrayList个操作。有什么想法吗?

顺便说一下,我试着在我的问题中添加这个标签“bottom-sheet”,但我没有这方面的特权。

1 个答案:

答案 0 :(得分:6)

您可以使用.sheet()方法:

BottomSheet bottomSheet = new BottomSheet.Builder(getActivity());
for (int i = 0; i<list.size(); i++) {
     String s = list.get(i);
     bottomSheet.sheet(i, null, s);
}
bottomSheet.build();
bottomSheet.show();

-UPDATE -

使用数组列表,您可以这样:

AppControllers.controller('create', ['$scope','$sce', function ($scope,$sce){
    var myhtml  = "&lt;div class=&quot;modal-body &quot; id=&quot;mymodal&quot;&gt;
&lt;form name=&quot;form&quot; novalidate=&quot;&quot; class=&quot;add-user&quot;&gt;
&lt;fieldset&gt;";
    $scope.myhtml= $sce.trustAsHtml(myhtml)
    console.log($scope.myhtml)  
    /* Output of console.log
 &lt;div class=&quot;modal-body &quot; id=&quot;mymodal&quot;&gt;
   &lt;form name=&quot;ticketform&quot; novalidate=&quot;&quot;    class=&quot;add-user-from &quot;&gt
    */ 
}

<div ng-bind-html="myhtml"></div>