2013-02-06 69 views
-3

你好男人如何安排圖標下的appname?如果你需要我給源。在GridView中的應用程序圖標下移動文本

enter image description here

你可以看到用於創建這個觀點在這裏的代碼:

package com.example.draw; 

import java.util.List; 

import android.content.Context; 
import android.content.pm.ApplicationInfo; 
import android.content.pm.PackageManager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class AppInfoAdapter extends BaseAdapter { 
    private Context mContext; 
    private List<ApplicationInfo> mListAppInfo; 
    private PackageManager mPackManager; 

    public AppInfoAdapter(Context c, List<ApplicationInfo> list, PackageManager pm) { 
     mContext = c; 
     mListAppInfo = list; 
     mPackManager = pm; 
    } 

    @Override 
    public int getCount() { 
     return mListAppInfo.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return mListAppInfo.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // get the selected entry 
     ApplicationInfo entry = mListAppInfo.get(position); 

     // reference to convertView 
     View v = convertView; 

     // inflate new layout if null 
     if(v == null) { 
      LayoutInflater inflater = LayoutInflater.from(mContext); 
      v = inflater.inflate(R.layout.activity_appinfo, null); 
     } 

     // load controls from layout resources 
     ImageView ivAppIcon = (ImageView)v.findViewById(R.id.ivIcon); 



     // set data to display 
     ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager)); 



     // return view 
     return v; 
    } 
} 

文字來自 的TextView tvAppName =(TextView的)v.findViewById(R.id.tvName); tvAppName.setText(entry.loadLabel(mPackManager));

main_appinfo.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:orientation="horizontal" 
    android:padding="5dip" > 

    <ImageView 
     android:id="@+id/ivIcon" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:layout_weight="1" 
     android:contentDescription="@string/desc" 
     android:scaleType="center" 
     android:gravity="center_horizontal|center_vertical"/> 

</LinearLayout> 
+1

請張貼相關的代碼。可能是適配器的'getView()'。 –

+3

+1爲我見過的撇號的最佳使用! – Fogmeister

+0

@ User117在這裏你的代碼http://pastebin.com/mN0hs5z6 –

回答

-1

應用程序圖標和標題格式爲主屏幕應用在Android中,你不能修改其外觀的一部分。

如果你想要,你可以創建自己的主屏幕應用程序,並做任何你想要的。

這裏是主屏幕應用的例子:Home App Android sdk Sample

+0

這看起來不是主屏幕應用程序,因爲他提供了適配器的代碼。 – MCeley

+0

There有很多主屏幕應用程序,我不知道他是如何使用他的代碼或爲什麼,但上面的示例包含一個gridview,他有他們的圖標應用程序,他想要的方式...因此,答案 –

0

在佈局文件水平面的LinearLayout,使其垂直。

android:orientation="horizontal"android:orientation="vertical"

相關問題