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("检测新版本失败...");
}
});
}
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++;
}
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()));
}
}
}
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);
}
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);
}
}
}
Aggregations