Search in sources :

Example 21 with Space

use of android.support.v4.widget.Space in project Ruisi by freedom10086.

the class AboutActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
        getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.transparent));
    }
    TextView version = findViewById(R.id.version);
    TextView serverVersion = findViewById(R.id.server_version);
    findViewById(R.id.btn_back).setOnClickListener(view -> finish());
    String ss = "<b>西电睿思手机客户端</b><br />功能不断完善中,bug较多还请多多反馈......<br />" + "bug反馈:<br />" + "1.到 <a href=\"forum.php?mod=viewthread&tid=" + App.POST_TID + "&mobile=2\">本帖</a> 回复<br />" + "2.本站 <a href=\"home.php?mod=space&uid=252553&do=profile&mobile=2\">@谁用了FREEDOM</a><br />" + "3.本站 <a href=\"home.php?mod=space&uid=261098&do=profile&mobile=2\">@wangfuyang</a><br />" + "4.本站 <a href=\"home.php?mod=space&uid=260255&do=profile&mobile=2\">@金鲨鱼</a><br />" + "5.github提交 <a href=\"https://github.com/freedom10086/Ruisi/issues\">点击这儿<br /></a><br />";
    TextView htmlView = findViewById(R.id.html_text);
    HtmlView.parseHtml(ss).into(htmlView);
    PackageInfo info = null;
    PackageManager manager = getPackageManager();
    try {
        info = manager.getPackageInfo(getPackageName(), 0);
    } catch (Exception e) {
        e.printStackTrace();
    }
    int versionCode = 0;
    if (info != null) {
        String version_name = info.versionName;
        versionCode = info.versionCode;
        String a = "当前版本:" + version_name;
        version.setText(a);
    }
    findViewById(R.id.fab).setOnClickListener(v -> Snackbar.make(v, "你要提交bug或者建议吗?", Snackbar.LENGTH_LONG).setAction("确定", view -> {
        String user = App.getName(AboutActivity.this);
        if (user != null) {
            user = "by:" + user;
        }
        IntentUtils.sendMail(getApplicationContext(), user);
    }).show());
    int finalVersionCode = versionCode;
    // 检查更新实现 读取我发帖的标题比较版本号
    // 我会把版本号写在标题上[code:xxx]
    HttpUtil.get(App.CHECK_UPDATE_URL, new ResponseHandler() {

        @Override
        public void onSuccess(byte[] response) {
            String res = new String(response);
            int ih = res.indexOf("keywords");
            int h_start = res.indexOf('\"', ih + 15);
            int h_end = res.indexOf('\"', h_start + 1);
            String title = res.substring(h_start + 1, h_end);
            if (title.contains("code")) {
                SharedPreferences.Editor editor = getSharedPreferences(App.MY_SHP_NAME, MODE_PRIVATE).edit();
                editor.putLong(App.CHECK_UPDATE_KEY, System.currentTimeMillis());
                editor.apply();
                int st = title.indexOf("code");
                int code = GetId.getNumber(title.substring(st));
                if (code > finalVersionCode) {
                    serverVersion.setText("检测到新版本点击查看");
                    serverVersion.setOnClickListener(view -> PostActivity.open(AboutActivity.this, App.CHECK_UPDATE_URL, "谁用了FREEDOM"));
                    return;
                }
            }
            serverVersion.setText("当前已是最新版本");
        }

        @Override
        public void onFailure(Throwable e) {
            super.onFailure(e);
            serverVersion.setText("检测新版本失败...");
        }
    });
}
Also used : Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) IntentUtils(me.yluo.ruisiapp.utils.IntentUtils) ContextCompat(android.support.v4.content.ContextCompat) ResponseHandler(me.yluo.ruisiapp.myhttp.ResponseHandler) GetId(me.yluo.ruisiapp.utils.GetId) PackageInfo(android.content.pm.PackageInfo) R(me.yluo.ruisiapp.R) TextView(android.widget.TextView) SharedPreferences(android.content.SharedPreferences) View(android.view.View) Build(android.os.Build) Snackbar(android.support.design.widget.Snackbar) HttpUtil(me.yluo.ruisiapp.myhttp.HttpUtil) App(me.yluo.ruisiapp.App) HtmlView(me.yluo.ruisiapp.widget.htmlview.HtmlView) PackageManager(android.content.pm.PackageManager) ResponseHandler(me.yluo.ruisiapp.myhttp.ResponseHandler) PackageInfo(android.content.pm.PackageInfo) TextView(android.widget.TextView)

Example 22 with Space

use of android.support.v4.widget.Space in project iosched by google.

the class TextInputLayout method addIndicator.

private void addIndicator(TextView indicator, int index) {
    if (mIndicatorArea == null) {
        mIndicatorArea = new LinearLayout(getContext());
        mIndicatorArea.setOrientation(LinearLayout.HORIZONTAL);
        addView(mIndicatorArea, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        // Add a flexible spacer in the middle so that the left/right views stay pinned
        final Space spacer = new Space(getContext());
        final LinearLayout.LayoutParams spacerLp = new LinearLayout.LayoutParams(0, 0, 1f);
        mIndicatorArea.addView(spacer, spacerLp);
        if (mEditText != null) {
            adjustIndicatorPadding();
        }
    }
    mIndicatorArea.setVisibility(View.VISIBLE);
    mIndicatorArea.addView(indicator, index);
    mIndicatorsAdded++;
}
Also used : Space(android.support.v4.widget.Space) LinearLayout(android.widget.LinearLayout)

Example 23 with Space

use of android.support.v4.widget.Space in project AsymmetricGridView by felipecsl.

the class AdapterImpl method onBindViewHolder.

void onBindViewHolder(ViewHolder holder, int position, ViewGroup parent) {
    if (debugEnabled) {
        Log.d(TAG, "onBindViewHolder(" + String.valueOf(position) + ")");
    }
    RowInfo rowInfo = itemsPerRow.get(position);
    if (rowInfo == null) {
        return;
    }
    List<RowItem> rowItems = new ArrayList<>(rowInfo.getItems());
    LinearLayout layout = initializeLayout(holder.itemView());
    // Index to control the current position of the current column in this row
    int columnIndex = 0;
    // Index to control the current position in the array of all the items available for this row
    int currentIndex = 0;
    int spaceLeftInColumn = rowInfo.getRowHeight();
    while (!rowItems.isEmpty() && columnIndex < listView.getNumColumns()) {
        RowItem currentItem = rowItems.get(currentIndex);
        if (spaceLeftInColumn == 0) {
            // No more space in this column. Move to next one
            columnIndex++;
            currentIndex = 0;
            spaceLeftInColumn = rowInfo.getRowHeight();
            continue;
        }
        // Is there enough space in this column to accommodate currentItem?
        if (spaceLeftInColumn >= currentItem.getItem().getRowSpan()) {
            rowItems.remove(currentItem);
            int actualIndex = currentItem.getIndex();
            int viewType = agvAdapter.getItemViewType(actualIndex);
            ObjectPool<AsymmetricViewHolder<?>> pool = viewHoldersMap.get(viewType);
            if (pool == null) {
                pool = new ObjectPool<>();
                viewHoldersMap.put(viewType, pool);
            }
            AsymmetricViewHolder viewHolder = pool.get();
            if (viewHolder == null) {
                viewHolder = agvAdapter.onCreateAsymmetricViewHolder(actualIndex, parent, viewType);
            }
            agvAdapter.onBindAsymmetricViewHolder(viewHolder, parent, actualIndex);
            View view = viewHolder.itemView;
            view.setTag(new ViewState(viewType, currentItem, viewHolder));
            view.setOnClickListener(this);
            view.setOnLongClickListener(this);
            spaceLeftInColumn -= currentItem.getItem().getRowSpan();
            currentIndex = 0;
            view.setLayoutParams(new LinearLayout.LayoutParams(getRowWidth(currentItem.getItem()), getRowHeight(currentItem.getItem())));
            LinearLayout childLayout = findOrInitializeChildLayout(layout, columnIndex);
            childLayout.addView(view);
        } else if (currentIndex < rowItems.size() - 1) {
            // Try again with next item
            currentIndex++;
        } else {
            break;
        }
    }
    if (debugEnabled && position % 20 == 0) {
        Log.d(TAG, linearLayoutPool.getStats("LinearLayout"));
        for (Map.Entry<Integer, ObjectPool<AsymmetricViewHolder<?>>> e : viewHoldersMap.entrySet()) {
            Log.d(TAG, e.getValue().getStats("ConvertViewMap, viewType=" + e.getKey()));
        }
    }
}
Also used : ArrayList(java.util.ArrayList) AbsListView(android.widget.AbsListView) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) HashMap(java.util.HashMap) ArrayMap(android.support.v4.util.ArrayMap) Map(java.util.Map) LinearLayout(android.widget.LinearLayout)

Example 24 with Space

use of android.support.v4.widget.Space in project android_packages_apps_Dialer by LineageOS.

the class InCallActivity method showDialpadFragment.

private void showDialpadFragment() {
    FragmentManager dialpadFragmentManager = getDialpadFragmentManager();
    if (dialpadFragmentManager == null) {
        return;
    }
    FragmentTransaction transaction = dialpadFragmentManager.beginTransaction();
    DialpadFragment dialpadFragment = getDialpadFragment();
    if (dialpadFragment == null) {
        dialpadFragment = new DialpadFragment();
        transaction.add(getDialpadContainerId(), dialpadFragment, Tags.DIALPAD_FRAGMENT);
    } else {
        transaction.show(dialpadFragment);
        dialpadFragment.setUserVisibleHint(true);
    }
    // RTT call screen doesn't show end call button inside dialpad, thus the space reserved for end
    // call button should be removed.
    dialpadFragment.setShouldShowEndCallSpace(didShowInCallScreen);
    transaction.commitAllowingStateLoss();
    dialpadFragmentManager.executePendingTransactions();
    Logger.get(this).logScreenView(ScreenEvent.Type.INCALL_DIALPAD, this);
    getInCallOrRttCallScreen().onInCallScreenDialpadVisibilityChange(true);
}
Also used : FragmentManager(android.support.v4.app.FragmentManager) FragmentTransaction(android.support.v4.app.FragmentTransaction)

Example 25 with Space

use of android.support.v4.widget.Space in project CollapsingRefresh by ckrgithub.

the class RefreshContentWrapper method setupComponent.

@Override
public void setupComponent(RefreshKernel kernel, View fixedHeader, View fixedFooter) {
    this.findScrollableView(mContentView, kernel);
    try {
        if (mScrollableView instanceof RecyclerView) {
            RecyclerViewScrollComponent component = new RecyclerViewScrollComponent(kernel);
            component.attach((RecyclerView) mScrollableView);
        }
    } catch (Throwable ignored) {
    }
    try {
        if (mScrollableView instanceof NestedScrollView) {
            NestedScrollViewScrollComponent component = new NestedScrollViewScrollComponent(kernel);
            component.attach((NestedScrollView) mScrollableView);
        }
    } catch (Throwable ignored) {
    }
    if (mScrollableView instanceof AbsListView) {
        AbsListViewScrollComponent component = new AbsListViewScrollComponent(kernel);
        component.attach(((AbsListView) mScrollableView));
    } else if (Build.VERSION.SDK_INT >= 23 && mScrollableView != null) {
        Api23ViewScrollComponent component = new Api23ViewScrollComponent(kernel);
        component.attach(mScrollableView);
    }
    if (fixedHeader != null || fixedFooter != null) {
        mFixedHeader = fixedHeader;
        mFixedFooter = fixedFooter;
        FrameLayout frameLayout = new FrameLayout(mContentView.getContext());
        kernel.getRefreshLayout().getLayout().removeView(mContentView);
        ViewGroup.LayoutParams layoutParams = mContentView.getLayoutParams();
        frameLayout.addView(mContentView, MATCH_PARENT, MATCH_PARENT);
        kernel.getRefreshLayout().getLayout().addView(frameLayout, layoutParams);
        mContentView = frameLayout;
        // TODO: 2017/10/3 头部处理
        if (fixedHeader != null) {
            fixedHeader.setClickable(true);
            ViewGroup.LayoutParams lp = fixedHeader.getLayoutParams();
            ViewGroup parent = (ViewGroup) fixedHeader.getParent();
            int index = parent.indexOfChild(fixedHeader);
            parent.removeView(fixedHeader);
            lp.height = measureViewHeight(fixedHeader);
            parent.addView(new Space(mContentView.getContext()), index, lp);
            frameLayout.addView(fixedHeader);
        }
        if (fixedFooter != null) {
            fixedFooter.setClickable(true);
            ViewGroup.LayoutParams lp = fixedFooter.getLayoutParams();
            ViewGroup parent = (ViewGroup) fixedFooter.getParent();
            int index = parent.indexOfChild(fixedFooter);
            parent.removeView(fixedFooter);
            FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(lp);
            lp.height = measureViewHeight(fixedFooter);
            parent.addView(new Space(mContentView.getContext()), index, lp);
            flp.gravity = Gravity.BOTTOM;
            frameLayout.addView(fixedFooter, flp);
        }
    }
}
Also used : Space(android.support.v4.widget.Space) ViewGroup(android.view.ViewGroup) AbsListView(android.widget.AbsListView) FrameLayout(android.widget.FrameLayout) RecyclerView(android.support.v7.widget.RecyclerView) NestedScrollView(android.support.v4.widget.NestedScrollView)

Aggregations

Space (android.support.v4.widget.Space)8 View (android.view.View)8 LinearLayout (android.widget.LinearLayout)6 TextView (android.widget.TextView)6 SwipeRefreshLayout (android.support.v4.widget.SwipeRefreshLayout)5 Point (android.graphics.Point)4 Bundle (android.os.Bundle)4 GridLayoutManager (android.support.v7.widget.GridLayoutManager)4 RecyclerView (android.support.v7.widget.RecyclerView)4 ViewGroup (android.view.ViewGroup)4 FrameLayout (android.widget.FrameLayout)4 ImageButton (android.widget.ImageButton)4 ImageView (android.widget.ImageView)4 PandaRecyclerView (com.instructure.pandarecycler.PandaRecyclerView)4 EmptyViewInterface (com.instructure.pandarecycler.interfaces.EmptyViewInterface)4 Context (android.content.Context)3 PackageManager (android.content.pm.PackageManager)3 ContextCompat (android.support.v4.content.ContextCompat)3 DefaultItemAnimator (android.support.v7.widget.DefaultItemAnimator)3 SuppressLint (android.annotation.SuppressLint)2