4

レイアウトで使用ListFragmentしているときに、不要な左マージンがあることがわかりました-画像の赤い部分(アクションバーに上がります.

この問題に関するドキュメントは見つかりませんでしたが、誰かが知っていることを願っています - どうすればこのスペースを削除できますか?

画像から、余白がリスト アイテム レベルではなく、より高いレベルにあることがわかります。つまり、フラグメント 余白だと思います。

他のフラグメントは問題なく、画面幅全体に引き伸ばされていることは注目に値します。問題のあるフラグメントは、拡張するフラグメントのみListFragmentです。

不要なマージンは赤で表示されます

4

2 に答える 2

0

パディングは ListFragment のデフォルト レイアウトの一部であるため、レイアウトをオーバーライドするのが最適です。

http://developer.android.com/reference/android/app/ListFragment.html

したがって、次のようなレイアウト:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

<ListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:visibility="gone"
    android:drawSelectorOnTop="false" />

<TextView
    android:id="@id/android:empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="No data" />
</LinearLayout>

そしてそれを onCreateView() に入力します

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    final View view = inflater.inflate(R.layout.fragment_bet_statement_list, container, false);
...
}

少し冗長ですが、これが最も柔軟な方法です。

于 2014-04-07T06:18:04.567 に答える
0

私はこれと同じ問題を抱えていました。私は ActionBarSherlock を使用しており、Styles と Themesでこれを修正できました。

まず、これを themes.xml に追加しました。

<style name="Theme.Base" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    ...
    <item name="android:listViewStyle">@style/ListViewStyle.MyApp</item>
    ...
</style>

これはSherlockListFragment、その にカスタム スタイルを使用するように指示しますListView。次に、このカスタム スタイルを styles.xml に追加しました。

<style name="ListViewStyle.MyApp" parent="android:Widget.ListView">
    ...
    <item name="android:paddingLeft">0dp</item>
    ...
</style>

次のいずれかの設定を試すこともできます。

    <item name="android:layout_marginLeft">0dp</item>
    <item name="android:padding">0dp</item> <!-- Instead of paddingLeft, if you want 0, everywhere -->

ListView をカスタム スタイルにポイントすると、問題が解決しました。基本的に、ListView ウィジェットにスタイルを設定することでうまくいくはずです。

于 2013-07-04T09:15:47.680 に答える