2015-01-27 2 views
1

enter image description hereКак показать круговой логотип в панели действий в Android?

Как и скриншот Google Plus выше, я хочу показать круговое изображение аватара в панели действий. Что мне делать?

+1

Look [ссылка] (Http: // stackoverflow.com/questions/16208365/create-a-circular-image-view-in-android?answertab=votes#tab-top) –

+0

@MD спасибо, но вы не можете задать STFW всем вопросам. в любом случае я искал несколько ключевых слов, но напрасно. – Bitex

ответ

3
  1. Создать круговое изображение.
  2. Создать пользовательский вид для панели действий с использованием кругового изображения.
  3. Надуть представление и отобразить пользовательский вид в виде панели действий.
<RelativeLayout   xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="50dp" 
android:background="@drawable/black_pattern" > 

<TextView 
android:id="@+id/title_text" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerInParent="true" 
android:textAllCaps="true" 
android:textAppearance="?android:attr/textAppearanceLarge" 
android:textColor="#fff" 
android:textStyle="bold" /> 

<com.example.CircularImageView 
android:id="@+id/circularimageView1" 
android:layout_width="35dp" 
android:layout_height="35dp" 
android:layout_alignParentLeft="true" 
android:layout_centerVertical="true" 
android:layout_marginLeft="8dp"/> 

</RelativeLayout> 

Activity.java

ActionBar mActionBar = getActionBar(); 
mActionBar.setDisplayShowHomeEnabled(false); 
mActionBar.setDisplayShowTitleEnabled(false); 
LayoutInflater mInflater = LayoutInflater.from(this); 

View mCustomView = mInflater.inflate(R.layout.actionbar, null); 

mActionBar.setCustomView(mCustomView); 
mActionBar.setDisplayShowCustomEnabled(true); 
+0

, это решение. Я использую панель инструментов в качестве панели действий в Android 5.0, и я пытаюсь создать обратный круговой образ с помощью кода и использовать getSupportActionBar(). SetLogo(), чтобы поместить его в панель действий. большое спасибо – Bitex

0

когда Начало Создание проекта (Вы должны следовать третий шаг ниже)

Step 1: New Android Project 

Step 2 : Configure Your Project 

Шаг 3: Настройка запуска Icon

You can Choose a shape as Circle 

Я надеюсь, что у нужен этот ответ

+0

Это не то, что я хочу. Я хочу показать аватар пользователя там, а не значок приложения – Bitex

+0

oh Извините. Позвольте мне попробовать – mdsaleem1804

11

Вы можете сделать это с помощью программно Картинку:

Во-первых сделать это на OnCreate вашей деятельности в():

getSupportActionBar().setDisplayShowHomeEnabled(true); 
Drawable drawable = new BitmapDrawable(getResources(), createCircleBitmap(sourceBitmap)); 
getSupportActionBar().setIcon(drawable); 

Вот CreateCircl Метод eBitmap():

public Bitmap createCircleBitmap(Bitmap bitmapimg){ 
     Bitmap output = Bitmap.createBitmap(bitmapimg.getWidth(), 
       bitmapimg.getHeight(), Bitmap.Config.ARGB_8888); 
     Canvas canvas = new Canvas(output); 

     final int color = 0xff424242; 
     final Paint paint = new Paint(); 
     final Rect rect = new Rect(0, 0, bitmapimg.getWidth(), 
       bitmapimg.getHeight()); 

     paint.setAntiAlias(true); 
     canvas.drawARGB(0, 0, 0, 0); 
     paint.setColor(color); 
     canvas.drawCircle(bitmapimg.getWidth()/2, 
       bitmapimg.getHeight()/2, bitmapimg.getWidth()/2, paint); 
     paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); 
     canvas.drawBitmap(bitmapimg, rect, rect, paint); 
     return output; 
    } 

PS: Если вы не имеете Bitmap, вы можете использовать это, чтобы преобразовать вытяжке в Bitmap:

Bitmap sourceBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_drawable); 
Смежные вопросы