2011-10-18 13 views
8

している無視して:私はそれに関連して使用する(リストビューコンポーネントの左/右に少しマージン/パディングを作るしようとしているセパレータパディング、私はこの区切りの問題は、それ

<?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は私がしようとした

  • をfill_parentたい原因私は、すべてのリストビューに余裕を置くことができない

    • 偽の境界線を置くが、私はそれが私のセパレータ空間を置く、それは背景色を変更して見ていいですね。

    変形

    私の最後の部分的な解決策は、親底の隣に並んImageViewのを、置くことです。 これは部分的に元の仕切りではなく下に置く原因です。

    誰かが分かりやすいラインにImageViewを配置する方法を教えてもらえれば、私は彼に+50も与えます。

  • +0

    仕切りを設定できるコードを投稿することはできますか? – user370305

    +0

    色やドローアブルを変更したときにうまくいきます。これ以上のコードは含まれていません。 –

    +0

    レイアウトxmlファイルのリストビューのandroid:divider = "@ drawable/song_separator" –

    答えて

    1

    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プロジェクトに追加した場合はAndroid Source Code it is back onlineに手を入れてください。プラットフォームクラスにデバッグしてプラットフォームコードを詳しくデバッグできます。

    これは本当にあなたの問題の解決策ではありませんが、解決策を見つけるのに役立つかもしれません。

    +0

    私はあなたのコードも、listViewがokでgetResources()でもあることを確認するために試してみましたが、問題があります。私の最後の解決策は、ImageViewを配置することです。誰かがセパレータの正確な行にImageViewを配置する方法を教えてもらえれば、私は彼に+50も与えます。 –

    +0

    @ A.Quirogaまた、中間にのみ表示される仕切りが必要な場合は、これも最後のListView要素では機能しません。細かいことだが、それでも注目に値する。 – dcow

    1

    別個のファイルとASアクセスそれをヘッダに入れ:

    パブリッククラス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()。 }

    リニアワンの代わりにRelativeLayoutを使用すると、詳細情報が表示されます。これが役立ちます。 Android: Adding static header to the top of a ListActivity

    +0

    私はlistHeaderを別のレイアウトに分けました。奇妙な原因の余白はヘッダに影響します。なぜなら、ヘッダーがリストに膨らんでいるからです(あなたが私を見せているように)。 –

    関連する問題