2015年7月30日 星期四

Android-圖片處理 OOM

未完成

Picasso
Glide


ImageView imageView = new ImageView(context);Picasso.with(getActivity()).load(phothLink).resize(300,300).into(imageView);

<application
        android:largeHeap="true"
        android:name=".activity.MyApplication"
        android:allowBackup="true"
        .
        .
        .

2015年7月28日 星期二

Android-半透明 Button Activity

以下方法可以產生 : 透明、半透明 效果
1 . 半透明
android:background="#e0000000"

2 . 透明
android:background="#00000000"

但是此方法是
針對元件!!!
針對元件!!!
針對元件!!!

如果真的要達到 Activity 透明
那就要使用主題了
有兩種方法可以選擇( 二選一 ) :

1 . 在 AndroidManifest 的 activity 中,添加原生風格( 全透明 )
<activity
    android:name="HelloActivity"
    android:theme="@android:style/Theme.Transparent" >
</activity>

2 . 自訂風格
1) 新增要使用的透明顏色
<color name="my_theme_color">#e0000000</color>

2) 自定義風格
<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowBackground">@color/my_theme_color</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

3) 在 AndroidManifest 的 activity, 套用自定義風格
<activity
    android:name="MyActivity"
    android:theme="@style/Theme.Transparent" >
</activity>


參考資訊 : Activity透明/半透明效果
參考資訊 : [Android]Button背景透明或半透明
參考資料 : [Android] 背景が半透明の Activity を作る

參考資料:设置 DialogFragment 的背景颜色透明
參考資訊 : 如何在 Android 裡製作一個透明背景的 Activity?
歡迎轉載,請註明出處。

2015年7月27日 星期一

Android-TabActivity

參考資訊 : Android TabHost Customize 頁籤 客製化 自製化

Android-AndroidStudio 遇到的問題

1 . Error:Invalid Gradle JDK configuration found.
解決辦法 :
File ->  Project Structure -> Project Settings -> Project
請確認您 Java SDK 和 Project andguage level

2015年7月26日 星期日

2015年7月24日 星期五

Android-Gradle 版本管控

為甚麼要用Gradle
其中之一是,可以管理相關的Jar

比如說 : 
A 工程師開發有遇到問題請教 B 工程師
但B的工程師開發環境都跟A相同嗎??

雙方用的 Jar 版本跟來源也都會一致嗎?

為了解決這問題
AS在 build.gradle內已經針對此問題作管理

Project -> build.gradle

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
}

在 Maven 內
可以找到您所需要的

Maven

更簡單的說明 :
如果您不用下載 Gson.jar
只要在 Gradle新增
如圖對應的位置

















dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.code.gson:gson:2.3.1'
}

之行第一次後就會存一份在您Local端,不需在下載
如果B工程師也用相對應的方式
就直接抓對應的 Jar

記得,如果要只用 Jar 請先 Refresh!!!

歡迎轉載,請註明出處。

2015年7月21日 星期二

Android-Activity 繼承與實作

想必大家對繼承不陌生吧
先來舉幾個簡單的範例
比如 : 
今天客戶要求設計10頁風格、擺設一樣的介面
您不可能一頁一頁慢慢的設計
如果心血來潮,又要更改擺設跟風格
又加上這次是100頁,那豈不是改到海枯石爛都改不完
這時繼承就是您的好朋友
您只需要更改特定的模板
全部被套用的也跟著一起更改
這就是繼承的好處?

介面只需要三個 TextView

首先我們要寫一個模板

public abstract class MainTitle extends Activity{

    //------ 1 . Start -------//
    private TextView leftText;
    
    public void setLeftName(String strLeftTitle){
        leftText.setText(strLeftTitle);
    }

    //------ End -------//
    
    //------ 2 . Start -------//
    public abstract String getTextTitle();
    //------ End -------//
    
    //------ 3 . Start -------//
    public void onCreateRightTitle(TextView rightTitle){}
    //------ End -------//
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base_title);

        leftText = (TextView)findViewById(R.id.text_Left);
        
        TextView centerText = (TextView)findViewById(R.id.text_Center);
        centerText.setText(getTextTitle());
        
        TextView rightText = (TextView)findViewById(R.id.text_Right);
        onCreateRightTitle(rightText);

    };
    
}

套用模板
public class GActivity extends MainTitle {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // 1 
        setLeftName("左邊");
        
    }

    // 2 
    @Override
    public String getTextTitle() {
        
        return "中間";
    }

    // 3 
    @Override
    public void onCreateRightTitle(TextView rightTitle) {
        super.onCreateRightTitle(rightTitle);
        rightTitle.setText("右邊");
    }

}



歡迎轉載,請註明出處。