2

現在、このレイアウトに従いたいと思っていましたが、下のボタンを制御する方法がわかりません。私の問題は、リストビューの幅が何であれ、画像が伸びたことです。私は以下のレイアウトに従いたかった。Androidの戻るボタンを使用しています。ここに画像の説明を入力

ここに画像の説明を入力

プログラムで画像の位置を制御することに慣れていません。これはデフォルトのサイズです。ボタンは内側addFooterView(btnLoadMore);

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {

            View rootView = inflater.inflate(R.layout.load_main_groups_activty, container, false);

            // Getting listview from xml
            ListView lv = (ListView) rootView.findViewById(android.R.id.list);

            // Creating a button - Load More
            Button btnLoadMore = new Button(mContext);
            btnLoadMore.setBackgroundResource(R.drawable.navigation_back);

            RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);  
            params2.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
            btnLoadMore.setLayoutParams(params2); 


            // Adding button to listview at footer
            lv.addFooterView(btnLoadMore);

            return rootView;
}

load_main_groups_activty

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical"  
                android:background="@color/white"     
                >
    <!-- Main ListView
         Always give id value as list(@android:id/list)
    -->
    <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_height="wrap_content" 

            >
    </ListView>

    <FrameLayout 
    android:id="@+id/contentFragment"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" />


</RelativeLayout>
4

2 に答える 2

5

これを実装してみてください:

          <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical"    
                android:background="@color/white"     
                >
    <!-- Main ListView
         Always give id value as list(@android:id/list)
    -->
    <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_height="wrap_content" 
            android:listSelector="@drawable/list_selector">
    </ListView>


         <ImageButton
                    android:id="@+id/imageButton1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentBottom="true"
                    android:background="@null"
                    android:src="@drawable/navigation_back" />

</RelativeLayout>

私はそれが役立つと確信しています-あなた。ありがとう

于 2013-07-23T05:26:03.823 に答える
1

画像が伸びないようにするには、 を作成してLinearLayoutその中にボタンを配置します。属性を設定するgravityことで、ボタンをListViewフッターの中央、左、または右に配置できます。にボタンを追加した後、LinearLayoutフッターにLinearLayout追加できます。ListView

次のコードで目的のレイアウトが得られるかどうかを確認してください。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.load_main_groups_activty, container, false);

        // Getting listview from xml
        ListView lv = (ListView) rootView.findViewById(android.R.id.list);

        // Creating a button - Load More
        Button btnLoadMore = new Button(mContext);
        btnLoadMore.setBackgroundResource(R.drawable.navigation_back);

        LinearLayout llFooter = new LinearLayout(mContext);


        LinearLayout.LayoutParams paramsBtn = new 
                 LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
                     LinearLayout.LayoutParams.WRAP_CONTENT);  
        paramsBtn.gravity = Gravity.LEFT;

        llFooter.addView(btnLoadMore, paramsBtn);   

        //RelativeLayout.LayoutParams params2 = new 
              //RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 
                     //RelativeLayout.LayoutParams.MATCH_PARENT);  

        //llFooter.setLayoutParams(params2);

        // Adding button to listview at footer
        lv.addFooterView(llFooter);

        return rootView;

}

于 2013-07-23T03:59:10.237 に答える