Commit 403e5269 by Author name

3.27 博客预览完成

parent 663babb1
......@@ -33,14 +33,15 @@
<activity android:name=".ui.page.ProjectPreviewPart"></activity>
<activity android:name=".ui.page.ProjectPreviewAll"></activity>
<activity android:name=".ui.page.ProjectFileLink">
</activity>
<activity android:name=".ui.page.PublishBlogActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.page.PublishBlogActivity">
</activity>
<activity android:name=".ui.page.ProjectsActivity"></activity>
<activity android:name=".ui.page.FansActivity" />
......
package cn.yunliyunwai.beyondclouds.data;
import java.io.Serializable;
/**
* @author GaoTong
* @date 2020/3/27 12:44
*/
public class MarkdownPreview implements Serializable {
/**
* 文章标题
*/
private String title;
/**
* 文章简介
*/
private String introduce;
/**
* 文章内容
*/
private String content;
public MarkdownPreview(String title, String introduce, String content) {
this.title = title;
this.introduce = introduce;
this.content = content;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getIntroduce() {
return introduce;
}
public void setIntroduce(String introduce) {
this.introduce = introduce;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
......@@ -2,17 +2,68 @@ package cn.yunliyunwai.beyondclouds.ui.page;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spanned;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import cn.yunliyunwai.beyondclouds.data.MarkdownPreview;
import cn.yunliyunwai.beyondclouds.databinding.ActivityPreviewBinding;
import cn.yunliyunwai.beyondclouds.databinding.ActivityPublishBlogBinding;
import io.noties.markwon.Markwon;
import io.noties.markwon.ext.tables.TablePlugin;
import io.noties.markwon.ext.tables.TableTheme;
public class PreviewActivity extends AppCompatActivity {
private ActivityPreviewBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityPreviewBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
Bundle bundle = getIntent().getExtras();
MarkdownPreview markdownPreview = (MarkdownPreview) bundle.getSerializable("markdown");
//获取输入框中的文字
//标题
String title = markdownPreview.getTitle();
//简介
String introduce = markdownPreview.getIntroduce();
//内容
String content = markdownPreview.getContent();
//通过markwon解析器解析出markdown文本
final TableTheme tableTheme = TableTheme.emptyBuilder()
.tableBorderWidth(0)
.tableCellPadding(0)
.tableHeaderRowBackgroundColor(Color.WHITE)
.tableEvenRowBackgroundColor(Color.WHITE)
.tableOddRowBackgroundColor(Color.GRAY)
.build();
Markwon markwon = Markwon.builder(getApplicationContext())
.usePlugin(TablePlugin.create(tableTheme))
.build();;
//显示标题
Spanned markdownTitle = markwon.toMarkdown(title);
binding.textBlogTitle.setText(markdownTitle);
//显示简介
Spanned markdownIntroduce = markwon.toMarkdown(introduce);
binding.textBlogIntroFrame.setText(markdownIntroduce);
//显示内容
Spanned markdownContent = markwon.toMarkdown(content);
binding.textBlogContent.setText(markdownContent);
}
}
......@@ -5,10 +5,12 @@ import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;
......@@ -24,6 +26,7 @@ import java.util.concurrent.Executors;
import cn.yunliyunwai.beyondclouds.R;
import cn.yunliyunwai.beyondclouds.adapter.PublishViewPagerAdapter;
import cn.yunliyunwai.beyondclouds.data.MarkdownPreview;
import cn.yunliyunwai.beyondclouds.databinding.ActivityPublishBlogBinding;
import cn.yunliyunwai.beyondclouds.ui.page.markdown.MarkdownButtonEnum;
import io.noties.markwon.AbstractMarkwonPlugin;
......@@ -98,6 +101,21 @@ public class PublishBlogActivity extends AppCompatActivity {
binding.editTextBlogContent
));
//跳转预览页面
binding.btnBlogPreview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MarkdownPreview markdownPreview = new MarkdownPreview(binding.editBlogTitle.getText().toString(),
binding.introFrame.getText().toString(),
binding.editTextBlogContent.getText().toString());
Intent intent = new Intent(PublishBlogActivity.this,PreviewActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("markdown",markdownPreview);
intent.putExtras(bundle);
startActivity(intent);
}
});
}
//点击头部图片时改变图片颜色
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
......
......@@ -14,16 +14,6 @@
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteX="0dp">
<TextView
android:layout_width="30dp"
android:layout_height="20dp"
android:text="发布"
android:textColor="@color/preview"
android:textSize="15sp"
android:layout_marginEnd="13dp"
android:layout_marginBottom="13dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<View
android:id="@+id/postDivider"
......@@ -39,13 +29,13 @@
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="0dp"
android:layout_height="620dp"
android:layout_height="wrap_content"
android:fadingEdge="vertical"
android:scrollbars="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout1"
app:layout_constraintBottom_toTopOf="@id/constraintLayout3">
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
......@@ -56,8 +46,8 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout1">
<EditText
android:id="@+id/titie"
<TextView
android:id="@+id/text_blog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MarkDown简易用法"
......@@ -75,7 +65,7 @@
android:textColor="@color/colorText"
android:textSize="10sp"
android:layout_marginTop="35dp"
app:layout_constraintTop_toTopOf="@id/titie"
app:layout_constraintTop_toTopOf="@id/text_blog_title"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
......@@ -87,14 +77,14 @@
android:textSize="12sp"
android:paddingLeft="11dp"
android:paddingTop="4dp"
app:layout_constraintTop_toTopOf="@id/titie"
app:layout_constraintTop_toTopOf="@id/text_blog_title"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
android:id="@+id/introFrame"
android:id="@+id/text_blog_introFrame"
android:layout_width="match_parent"
android:layout_height="32dp"
android:text="MarkDown简易用法"
......@@ -108,7 +98,8 @@
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:layout_width="wrap_content"
android:id="@+id/text_blog_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="正文"
android:textColor="@color/colorText"
......@@ -116,7 +107,7 @@
android:background="@null"
android:layout_marginTop="17dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/introFrame"/>
app:layout_constraintTop_toBottomOf="@id/text_blog_introFrame"/>
</androidx.constraintlayout.widget.ConstraintLayout>
......
......@@ -13,10 +13,12 @@
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp">
<TextView
android:layout_width="30dp"
android:layout_height="19dp"
<Button
android:id="@+id/btn_blog_preview"
android:layout_width="60dp"
android:layout_height="40dp"
android:text="预览"
android:gravity="center"
android:textColor="@color/preview"
android:textSize="15sp"
android:layout_marginEnd="12dp"
......@@ -56,9 +58,10 @@
app:layout_constraintTop_toBottomOf="@+id/constraintLayout1">
<EditText
android:id="@+id/edit_blog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文章标题"
android:hint="文章标题"
android:textColor="@color/colorGray"
android:textSize="20sp"
android:layout_marginTop="20dp"
......@@ -70,7 +73,7 @@
android:id="@+id/introFrame"
android:layout_width="match_parent"
android:layout_height="43dp"
android:text="请输入文章简介"
android:hint="请输入文章简介"
android:textColor="@color/colorText"
android:textSize="13sp"
android:paddingLeft="15dp"
......@@ -82,9 +85,9 @@
<EditText
android:id="@+id/edit_text_blog_content"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="正文"
android:hint="正文"
android:textColor="@color/colorText"
android:textSize="13sp"
android:background="@null"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment