Android 分隔符填充,忽略它

Android 分隔符填充,忽略它,android,android-layout,list-separator,Android,Android Layout,List Separator,此分隔符有问题: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <padding android:left="10dip" android:right="10dip"/> <solid android:color="@co

此分隔符有问题:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <padding android:left="10dip" android:right="10dip"/>
    <solid android:color="@color/listSeparator"/>
    <size android:height="1px" />
</shape>
。。。它被直接忽略,放置一个完整的布局分隔符

现在我不知道问题出在哪里,但我知道:

  • 我无法在所有ListView中添加边距,因为我希望listHeader填充父项
  • 我试着设置一个假边框,但当我改变它的背景色,给它设置一个分隔符时,它看起来并不好看
有什么想法吗

已修改

我的最后一个部分解决方案是放置一个ImageView,与父底部对齐。 这是部分原因,它放在底部,而不是原来的分隔器上


如果有人能告诉我如何将ImageView放在除法器的准确行上,我也会给他+50。Quiroga,所以我的第一个赌注是通过将方法调用拆分为单独的行,使代码更易于调试

ListView lview = getListView();
if (lview != null){
  Resources res = getResources();
  if (res != null) {
       Drawable dable = res.getDrawable(R.drawable.song_separator);
       if (dable != null){
           lview.setDivider(dable)
       }
  }
} else {
   //Log in some way that you have a problem.
}
我知道它看起来有点过于复杂,但这样你可以确保找到了Drawable,并且是正确的,然后正确地分配给ListView

您可以尝试的另一件事是分配一个不同的、可能是特定于平台的分隔符,看看它是否正常工作

另外,如果您将它添加到Java项目中,那么您可以调试到平台类中,并调试到平台代码中


因此,这并不是解决您问题的真正方法,但可能有助于您找到解决方案。

将标题放在单独的文件中,并通过以下方式访问它:

公共类AuditActivity扩展了ListActivity{

Budget budget;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.audit);
    ListView lv = getListView();
    LayoutInflater infalter = getLayoutInflater();
    ViewGroup header = (ViewGroup) infalter.inflate(R.layout.header, lv, false);
    lv.addHeaderView(header);
    budget = new Budget(this);
    /*
    try {
        test = budget.getTransactions();
        showEvents(test);
    } finally {

    }
    */
//switchTabSpecial(); }

点击这个链接……它有一个详细的信息,使用相对论而不是线性的,我希望这将帮助你。

你能把代码贴在可以设置分隔符的地方吗?我把它放得很好,因为当我改变颜色或可绘制的东西时,它会运行。不涉及更多代码。android:divider=“@drawable/song_separator”在布局xml的listview中file@pankaj它不是ListView XML项,它不接受android:divider标记。@Hiral它可以是两者。但它必须与倾角测量有关。那么我认为它不可能是一个固定的图像。如果您的实验发现了其他问题,我很乐意给您+50。我还尝试了您的代码,以确认listView和getResources()正常,但我有问题。我的最后一个解决方案是放置一个ImageView,宽度与底部的填充对齐。如果有人能告诉我如何将该图像放在分隔符的精确行上,我会给他50 + to..aQuoRGA,这也不适用于最后一个ListVIEW元素,如果你想在中间只显示分频器。小细节,但仍然值得注意。我已将listHeader分为另一个布局。奇怪的是边距会影响页眉,因为页眉会膨胀到列表中(就像你给我看的那样)。
Budget budget;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.audit);
    ListView lv = getListView();
    LayoutInflater infalter = getLayoutInflater();
    ViewGroup header = (ViewGroup) infalter.inflate(R.layout.header, lv, false);
    lv.addHeaderView(header);
    budget = new Budget(this);
    /*
    try {
        test = budget.getTransactions();
        showEvents(test);
    } finally {

    }
    */